sealights-webdriverio-plugin 0.1.28 → 0.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -17
- package/package.json +3 -3
- package/tsOutputs/src/index.d.ts +2 -0
- package/tsOutputs/src/index.js +6 -2
- package/tsOutputs/src/index.js.map +1 -1
- package/tsOutputs/src/launcher.d.ts +4 -0
- package/tsOutputs/src/launcher.js +82 -9
- package/tsOutputs/src/launcher.js.map +1 -1
- package/tsOutputs/src/service.js +15 -7
- package/tsOutputs/src/service.js.map +1 -1
- package/tsOutputs/src/utils/atomic-write.d.ts +1 -0
- package/tsOutputs/src/utils/atomic-write.js +24 -0
- package/tsOutputs/src/utils/atomic-write.js.map +1 -0
- package/tsOutputs/src/utils/exclusions.d.ts +1 -0
- package/tsOutputs/src/utils/exclusions.js +5 -0
- package/tsOutputs/src/utils/exclusions.js.map +1 -1
- package/tsOutputs/src/utils/execution.d.ts +6 -0
- package/tsOutputs/src/utils/execution.js +69 -0
- package/tsOutputs/src/utils/execution.js.map +1 -0
- package/tsOutputs/src/version.d.ts +1 -1
- package/tsOutputs/src/version.js +1 -1
package/README.md
CHANGED
|
@@ -22,11 +22,7 @@ Add the service to your config. WDIO resolves services by name only for packages
|
|
|
22
22
|
// wdio.conf.js
|
|
23
23
|
const SealightsService = require('sealights-webdriverio-plugin');
|
|
24
24
|
const { launcher: SealightsLauncher } = require('sealights-webdriverio-plugin');
|
|
25
|
-
|
|
26
|
-
const {
|
|
27
|
-
service: SealightsService,
|
|
28
|
-
launcher: SealightsLauncher,
|
|
29
|
-
} = require('sealights-webdriverio-plugin');
|
|
25
|
+
const sealightsLauncher = new SealightsLauncher();
|
|
30
26
|
|
|
31
27
|
exports.config = {
|
|
32
28
|
framework: 'mocha',
|
|
@@ -35,9 +31,12 @@ exports.config = {
|
|
|
35
31
|
[SealightsService],
|
|
36
32
|
// ...other services
|
|
37
33
|
],
|
|
38
|
-
//
|
|
34
|
+
// Retain one launcher: it owns the execution across both lifecycle hooks.
|
|
39
35
|
onPrepare: async () => {
|
|
40
|
-
await
|
|
36
|
+
await sealightsLauncher.onPrepare();
|
|
37
|
+
},
|
|
38
|
+
onComplete: async () => {
|
|
39
|
+
await sealightsLauncher.onComplete();
|
|
41
40
|
},
|
|
42
41
|
};
|
|
43
42
|
```
|
|
@@ -51,11 +50,16 @@ import {
|
|
|
51
50
|
launcher as SealightsLauncher,
|
|
52
51
|
} from 'sealights-webdriverio-plugin';
|
|
53
52
|
|
|
53
|
+
const sealightsLauncher = new SealightsLauncher();
|
|
54
|
+
|
|
54
55
|
export const config = {
|
|
55
56
|
framework: 'mocha',
|
|
56
57
|
services: [[SealightsService]],
|
|
57
58
|
onPrepare: async () => {
|
|
58
|
-
await
|
|
59
|
+
await sealightsLauncher.onPrepare();
|
|
60
|
+
},
|
|
61
|
+
onComplete: async () => {
|
|
62
|
+
await sealightsLauncher.onComplete();
|
|
59
63
|
},
|
|
60
64
|
};
|
|
61
65
|
```
|
|
@@ -70,15 +74,25 @@ import {
|
|
|
70
74
|
launcher as SealightsLauncher,
|
|
71
75
|
} from 'sealights-webdriverio-plugin';
|
|
72
76
|
|
|
77
|
+
const sealightsLauncher = new SealightsLauncher();
|
|
78
|
+
|
|
73
79
|
export const config: Config = {
|
|
74
80
|
framework: 'mocha',
|
|
75
81
|
services: [[SealightsService]],
|
|
76
82
|
onPrepare: async () => {
|
|
77
|
-
await
|
|
83
|
+
await sealightsLauncher.onPrepare();
|
|
84
|
+
},
|
|
85
|
+
onComplete: async () => {
|
|
86
|
+
await sealightsLauncher.onComplete();
|
|
78
87
|
},
|
|
79
88
|
};
|
|
80
89
|
```
|
|
81
90
|
|
|
91
|
+
The launcher is required because it owns the single SeaLights execution. It opens
|
|
92
|
+
that execution before fetching exclusions, persists the shared state for workers
|
|
93
|
+
to reuse, and closes the same execution in `onComplete`. Always retain one
|
|
94
|
+
launcher instance for both lifecycle hooks.
|
|
95
|
+
|
|
82
96
|
## Alternative: Manual Hooks (no WDIO service)
|
|
83
97
|
|
|
84
98
|
If you prefer not to use WDIO services, import and attach the hooks directly:
|
|
@@ -90,6 +104,11 @@ const hooks = registerSealightsWdioHooks();
|
|
|
90
104
|
exports.config = { framework: 'mocha', ...hooks };
|
|
91
105
|
```
|
|
92
106
|
|
|
107
|
+
`registerSealightsWdioHooks()` returns the complete lifecycle: launcher
|
|
108
|
+
`onPrepare`/`onComplete` hooks and worker `before`/`beforeTest`/`afterTest`/`after`
|
|
109
|
+
hooks. One launcher instance is shared by its two hooks, and one service instance
|
|
110
|
+
is shared by all worker hooks.
|
|
111
|
+
|
|
93
112
|
## Advanced: Referencing a built file path
|
|
94
113
|
|
|
95
114
|
You can reference the built entry file explicitly, though this is not recommended as it relies on internal package
|
|
@@ -131,7 +150,7 @@ All Sealights parameters use the `--sl-` prefix:
|
|
|
131
150
|
| `--sl-proxy` | Proxy server configuration | No |
|
|
132
151
|
| `--sl-enableRemoteAgent` | Presence-only switch. When provided, WDIO disables the Browser Agent and collects component coverage via the remote agent (default: disabled) | No |
|
|
133
152
|
| `--sl-testProjectId` | Test project ID differentiates between different test stages with the same test stage name of different teams/products/etc. | No |
|
|
134
|
-
| `--sl-prID` | Identifies PR pipeline executions, allowing them to be distinguished from eachother and from other executions of the same test-stage.
|
|
153
|
+
| `--sl-prID` | Identifies PR pipeline executions, allowing them to be distinguished from eachother and from other executions of the same test-stage. | No |
|
|
135
154
|
|
|
136
155
|
Environment variable equivalents:
|
|
137
156
|
|
|
@@ -154,8 +173,13 @@ Environment variable equivalents:
|
|
|
154
173
|
|
|
155
174
|
## How It Works
|
|
156
175
|
|
|
157
|
-
- Launcher (`onPrepare`):
|
|
158
|
-
-
|
|
176
|
+
- Launcher (`onPrepare`): opens the single execution, writes it to
|
|
177
|
+
`.sl/.wdio-execution.json`, then fetches excluded tests once and writes them to
|
|
178
|
+
`.sl/.wdio-excluded-tests.json`.
|
|
179
|
+
- Worker (`before`): reuses the launcher-owned execution from the state file and
|
|
180
|
+
loads exclusions. If execution state is missing or invalid, SeaLights is
|
|
181
|
+
strictly disabled for that worker; the worker does not start a replacement
|
|
182
|
+
execution or fetch exclusions.
|
|
159
183
|
- Before each test: sends `startTest`.
|
|
160
184
|
- Optional remote-agent mode: when enabled, the service disables the Browser Agent in the AUT and later collects/sends
|
|
161
185
|
component coverage.
|
|
@@ -163,23 +187,32 @@ Environment variable equivalents:
|
|
|
163
187
|
while reporting it as skipped.
|
|
164
188
|
- After each test: sends `endTest` with result and duration. In remote-agent mode, component coverage (if present) is
|
|
165
189
|
sent via the agent.
|
|
166
|
-
-
|
|
190
|
+
- Worker (`after`): stops only its worker-local agent.
|
|
191
|
+
- Launcher (`onComplete`): explicitly ends the single execution, then stops the
|
|
192
|
+
launcher agent and removes shared state. If execution closure fails, the
|
|
193
|
+
launcher logs the error, stops the agent, and still removes local state files.
|
|
167
194
|
|
|
168
195
|
## Cucumber with WDIO
|
|
169
196
|
|
|
170
197
|
When `framework: 'cucumber'` is detected, this plugin no-ops and logs guidance.
|
|
171
198
|
Use [sealights-cucumber-plugin](https://www.npmjs.com/package/sealights-cucumber-plugin) instead.
|
|
172
199
|
|
|
173
|
-
##
|
|
200
|
+
## Shared State Files
|
|
174
201
|
|
|
175
|
-
-
|
|
176
|
-
-
|
|
202
|
+
- Execution path: `.sl/.wdio-execution.json`
|
|
203
|
+
- Exclusions path: `.sl/.wdio-excluded-tests.json`
|
|
204
|
+
- Both files are produced by the launcher after the execution opens and consumed
|
|
205
|
+
by workers. Missing or invalid execution state strictly disables SeaLights in
|
|
206
|
+
that worker so workers cannot create duplicate executions. The launcher removes
|
|
207
|
+
both files during teardown after attempting to end the execution.
|
|
177
208
|
|
|
178
209
|
## Troubleshooting
|
|
179
210
|
|
|
180
211
|
- Service name not found: pass the module directly as shown above, or publish a wrapper named `wdio-sealights-service`.
|
|
181
212
|
- No coverage: ensure your app under test is instrumented with Sealights.
|
|
182
|
-
-
|
|
213
|
+
- Shared state missing: verify `.sl/.wdio-execution.json` and
|
|
214
|
+
`.sl/.wdio-excluded-tests.json` are produced; ensure the same retained launcher
|
|
215
|
+
instance is wired to both `onPrepare` and `onComplete`.
|
|
183
216
|
- Browser hangs during beforeEach: leave remote-agent mode disabled (default), or explicitly disable it by removing
|
|
184
217
|
`--sl-enableRemoteAgent`/`SL_ENABLEREMOTEAGENT`.
|
|
185
218
|
- Cucumber events duplicated: remove the WDIO service and configure `sealights-cucumber-plugin` via
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sealights-webdriverio-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.29",
|
|
4
4
|
"description": "WebdriverIO plugin for Sealights integration",
|
|
5
5
|
"main": "tsOutputs/src/index.js",
|
|
6
6
|
"types": "tsOutputs/src/index.d.ts",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"istanbul-lib-coverage": "^3.2.2",
|
|
31
|
-
"slnodejs": "6.2.
|
|
32
|
-
"sealights-plugins-common": "2.0.
|
|
31
|
+
"slnodejs": "6.2.34",
|
|
32
|
+
"sealights-plugins-common": "2.0.139"
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
35
|
"tsOutputs/src"
|
package/tsOutputs/src/index.d.ts
CHANGED
|
@@ -2,10 +2,12 @@ import { SealightsWdioService } from './service';
|
|
|
2
2
|
export { SealightsWdioService as service } from './service';
|
|
3
3
|
export { SealightsWdioLauncher as launcher } from './launcher';
|
|
4
4
|
export declare function registerSealightsWdioHooks(): {
|
|
5
|
+
onPrepare: () => Promise<void>;
|
|
5
6
|
before: () => Promise<void>;
|
|
6
7
|
beforeTest: (...args: any[]) => Promise<void>;
|
|
7
8
|
afterTest: (...args: any[]) => Promise<void>;
|
|
8
9
|
after: () => Promise<void>;
|
|
10
|
+
onComplete: () => Promise<void>;
|
|
9
11
|
};
|
|
10
12
|
export { version } from './version';
|
|
11
13
|
export default SealightsWdioService;
|
package/tsOutputs/src/index.js
CHANGED
|
@@ -3,17 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.version = exports.launcher = exports.service = void 0;
|
|
4
4
|
exports.registerSealightsWdioHooks = registerSealightsWdioHooks;
|
|
5
5
|
const service_1 = require("./service");
|
|
6
|
+
const launcher_1 = require("./launcher");
|
|
6
7
|
var service_2 = require("./service");
|
|
7
8
|
Object.defineProperty(exports, "service", { enumerable: true, get: function () { return service_2.SealightsWdioService; } });
|
|
8
|
-
var
|
|
9
|
-
Object.defineProperty(exports, "launcher", { enumerable: true, get: function () { return
|
|
9
|
+
var launcher_2 = require("./launcher");
|
|
10
|
+
Object.defineProperty(exports, "launcher", { enumerable: true, get: function () { return launcher_2.SealightsWdioLauncher; } });
|
|
10
11
|
function registerSealightsWdioHooks() {
|
|
12
|
+
const launcher = new launcher_1.SealightsWdioLauncher();
|
|
11
13
|
const service = new service_1.SealightsWdioService();
|
|
12
14
|
return {
|
|
15
|
+
onPrepare: () => launcher.onPrepare?.(),
|
|
13
16
|
before: () => service.before?.(),
|
|
14
17
|
beforeTest: (...args) => service.beforeTest?.(...args),
|
|
15
18
|
afterTest: (...args) => service.afterTest?.(...args),
|
|
16
19
|
after: () => service.after?.(),
|
|
20
|
+
onComplete: () => launcher.onComplete?.(),
|
|
17
21
|
};
|
|
18
22
|
}
|
|
19
23
|
var version_1 = require("./version");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAQA,gEAaC;AArBD,uCAAiD;AACjD,yCAAmD;AAEnD,qCAA4D;AAAnD,kGAAA,oBAAoB,OAAW;AAExC,uCAA+D;AAAtD,oGAAA,qBAAqB,OAAY;AAG1C,SAAgB,0BAA0B;IACxC,MAAM,QAAQ,GAAG,IAAI,gCAAqB,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,8BAAoB,EAAE,CAAC;IAC3C,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;QACvC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;QAChC,UAAU,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAC7B,OAAO,CAAC,UAAU,EAAE,CAAC,GAAI,IAAwB,CAAC;QACpD,SAAS,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAC5B,OAAO,CAAC,SAAS,EAAE,CAAC,GAAI,IAA6B,CAAC;QACxD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE;QAC9B,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE;KAC1C,CAAC;AACJ,CAAC;AAED,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAGhB,kBAAe,8BAAoB,CAAC"}
|
|
@@ -5,24 +5,58 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SealightsWdioLauncher = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
8
|
const sealights_plugins_common_1 = require("sealights-plugins-common");
|
|
10
9
|
const config_1 = require("./config");
|
|
11
10
|
const exclusions_1 = require("./utils/exclusions");
|
|
11
|
+
const execution_1 = require("./utils/execution");
|
|
12
12
|
const version_1 = require("./version");
|
|
13
13
|
const timing_1 = require("./utils/timing");
|
|
14
14
|
const TAGS = [{ name: 'webdriverio-plugin', version: version_1.version }];
|
|
15
15
|
class SealightsWdioLauncher {
|
|
16
16
|
constructor() {
|
|
17
17
|
this.instance = null;
|
|
18
|
+
this.execution = null;
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
async removeStateFiles(tolerateErrors = true) {
|
|
21
|
+
let cleanupError;
|
|
22
|
+
try {
|
|
23
|
+
await (0, execution_1.removeExecutionFile)();
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
cleanupError = error;
|
|
27
|
+
(0, sealights_plugins_common_1.getLogger)().error(`[SEALIGHTS][WDIO] Failed to remove execution state: ${error?.message || error}`);
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
await fs_1.default.promises.rm(exclusions_1.DEFAULT_EXCLUSIONS_PATH, { force: true });
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
(0, sealights_plugins_common_1.getLogger)().error(`[SEALIGHTS][WDIO] Failed to remove exclusions state at ${exclusions_1.DEFAULT_EXCLUSIONS_PATH}: ${error?.message || error}`);
|
|
34
|
+
cleanupError ||= error;
|
|
35
|
+
}
|
|
36
|
+
if (cleanupError && !tolerateErrors) {
|
|
37
|
+
throw cleanupError;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async shutdown(shouldEndExecution = true) {
|
|
41
|
+
if (!this.instance) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (!shouldEndExecution) {
|
|
45
|
+
this.instance.setIsStartingExecution(false);
|
|
46
|
+
await this.instance.tryStopAgent();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const executionEnded = await this.instance.tryEndExecution();
|
|
50
|
+
if (!executionEnded) {
|
|
51
|
+
(0, sealights_plugins_common_1.getLogger)().error(`[SEALIGHTS][WDIO] Failed to end execution. Stopping agent and cleaning up local state.`);
|
|
52
|
+
}
|
|
53
|
+
this.instance.setIsStartingExecution(false);
|
|
54
|
+
await this.instance.tryStopAgent();
|
|
55
|
+
this.execution = null;
|
|
56
|
+
}
|
|
57
|
+
async writeExclusions(excluded, testSelectionStatus) {
|
|
20
58
|
(0, sealights_plugins_common_1.getLogger)().debug('SealightsWdioLauncher writeExclusions: start');
|
|
21
|
-
|
|
22
|
-
const dir = path_1.default.dirname(outPath);
|
|
23
|
-
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
24
|
-
const payload = { excluded, testSelectionStatus };
|
|
25
|
-
fs_1.default.writeFileSync(outPath, JSON.stringify(payload), 'utf-8');
|
|
59
|
+
await (0, exclusions_1.writeExclusionsAndStatusToFile)({ excluded, testSelectionStatus }, exclusions_1.DEFAULT_EXCLUSIONS_PATH);
|
|
26
60
|
(0, sealights_plugins_common_1.getLogger)().debug('SealightsWdioLauncher writeExclusions: done');
|
|
27
61
|
}
|
|
28
62
|
async getExcludedTests() {
|
|
@@ -42,18 +76,57 @@ class SealightsWdioLauncher {
|
|
|
42
76
|
}
|
|
43
77
|
async onPrepare() {
|
|
44
78
|
(0, sealights_plugins_common_1.getLogger)().debug('SealightsWdioLauncher onPrepare');
|
|
79
|
+
let executionOpened = false;
|
|
45
80
|
try {
|
|
81
|
+
await this.removeStateFiles(false);
|
|
46
82
|
const provider = await (0, config_1.buildSlConfigProvider)();
|
|
47
83
|
this.instance = await sealights_plugins_common_1.SealightsIntegration.getInstance(provider, false, TAGS);
|
|
84
|
+
this.instance.setIsStartingExecution(true);
|
|
85
|
+
const execution = await this.instance.startExecution();
|
|
86
|
+
const executionId = execution
|
|
87
|
+
?.executionId;
|
|
88
|
+
if (typeof executionId === 'string' && executionId.trim().length > 0) {
|
|
89
|
+
executionOpened = true;
|
|
90
|
+
}
|
|
91
|
+
const missingExecutionFields = (0, execution_1.getMissingExecutionFields)(execution);
|
|
92
|
+
if (missingExecutionFields.length > 0) {
|
|
93
|
+
throw new Error(`startExecution returned invalid execution data; missing or empty required fields: ` +
|
|
94
|
+
missingExecutionFields.join(', '));
|
|
95
|
+
}
|
|
96
|
+
this.execution = execution;
|
|
97
|
+
await (0, execution_1.writeExecution)(execution);
|
|
48
98
|
const excluded = await this.getExcludedTests();
|
|
49
99
|
const status = this.instance?.agent?.testRecommendationHandler
|
|
50
100
|
?.eventsProcess?.testSelectionStatus;
|
|
51
|
-
this.writeExclusions(excluded, status);
|
|
101
|
+
await this.writeExclusions(excluded, status);
|
|
52
102
|
(0, sealights_plugins_common_1.getLogger)().lifecycle(`[SEALIGHTS][WDIO] Wrote exclusions to ${exclusions_1.DEFAULT_EXCLUSIONS_PATH}`);
|
|
53
103
|
}
|
|
54
104
|
catch (e) {
|
|
55
|
-
|
|
105
|
+
await this.shutdown(executionOpened);
|
|
106
|
+
await this.removeStateFiles();
|
|
107
|
+
const recoveryMessage = executionOpened
|
|
108
|
+
? 'The agent was stopped and launcher state was removed after the startup failure.'
|
|
109
|
+
: 'The failure occurred before an execution was opened; launcher state was removed.';
|
|
110
|
+
(0, sealights_plugins_common_1.getLogger)().error(`[SEALIGHTS][WDIO] onPrepare (launcher) failed: ${e?.message || e}. ` +
|
|
111
|
+
`${recoveryMessage} Check agent connectivity and write permissions before retrying.`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async onComplete() {
|
|
115
|
+
(0, sealights_plugins_common_1.getLogger)().debug('SealightsWdioLauncher onComplete');
|
|
116
|
+
if (!this.instance) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const canEndExecution = Boolean(this.execution?.executionId);
|
|
120
|
+
try {
|
|
121
|
+
if (this.execution) {
|
|
122
|
+
this.instance.setExecution(this.execution);
|
|
123
|
+
}
|
|
124
|
+
await this.shutdown(canEndExecution);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
(0, sealights_plugins_common_1.getLogger)().error(`[SEALIGHTS][WDIO] onComplete (launcher) failed: ${error?.message || error}`);
|
|
56
128
|
}
|
|
129
|
+
await this.removeStateFiles();
|
|
57
130
|
}
|
|
58
131
|
}
|
|
59
132
|
exports.SealightsWdioLauncher = SealightsWdioLauncher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/launcher.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/launcher.ts"],"names":[],"mappings":"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"}
|
package/tsOutputs/src/service.js
CHANGED
|
@@ -15,6 +15,7 @@ const exclusions_1 = require("./utils/exclusions");
|
|
|
15
15
|
const version_1 = require("./version");
|
|
16
16
|
const results_1 = require("./utils/results");
|
|
17
17
|
const timing_1 = require("./utils/timing");
|
|
18
|
+
const execution_1 = require("./utils/execution");
|
|
18
19
|
const SL_TAGS = [{ name: 'webdriverio-plugin', version: version_1.version }];
|
|
19
20
|
class SealightsWdioService {
|
|
20
21
|
constructor(serviceOptions) {
|
|
@@ -75,7 +76,20 @@ class SealightsWdioService {
|
|
|
75
76
|
this.enableRemoteAgent = Object.prototype.hasOwnProperty.call(cfg, 'enableremoteagent');
|
|
76
77
|
(0, sealights_plugins_common_1.getLogger)().debug(`SealightsWdioService before: enableRemoteAgent=${this.enableRemoteAgent}`);
|
|
77
78
|
this.instance = await sealights_plugins_common_1.SealightsIntegration.getInstance(provider, false, SL_TAGS);
|
|
78
|
-
|
|
79
|
+
this.instance.setIsStartingExecution(false);
|
|
80
|
+
const execution = await (0, execution_1.readExecution)();
|
|
81
|
+
if (!execution) {
|
|
82
|
+
(0, sealights_plugins_common_1.getLogger)().lifecycle('[SEALIGHTS][WDIO] The shared execution state is unavailable or invalid. SeaLights is disabled for this worker; stopping the worker-local agent without closing the launcher-owned execution.');
|
|
83
|
+
try {
|
|
84
|
+
await this.instance.stopAgent();
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
(0, sealights_plugins_common_1.getLogger)().error(`[SEALIGHTS][WDIO] Failed to stop agent while disabling worker: ${e?.message || e}`);
|
|
88
|
+
}
|
|
89
|
+
this.instance = null;
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this.instance.setExecution(execution);
|
|
79
93
|
await this.loadExclusions();
|
|
80
94
|
(0, sealights_plugins_common_1.getLogger)().debug('SealightsWdioService before: done');
|
|
81
95
|
}
|
|
@@ -187,12 +201,6 @@ class SealightsWdioService {
|
|
|
187
201
|
}
|
|
188
202
|
async after() {
|
|
189
203
|
(0, sealights_plugins_common_1.getLogger)().debug('SealightsWdioService after: start');
|
|
190
|
-
try {
|
|
191
|
-
await this.instance.endExecution();
|
|
192
|
-
}
|
|
193
|
-
catch (e) {
|
|
194
|
-
(0, sealights_plugins_common_1.getLogger)().error(`[SEALIGHTS][WDIO] Failed to end execution: ${e?.message || e}`);
|
|
195
|
-
}
|
|
196
204
|
try {
|
|
197
205
|
await this.instance.stopAgent();
|
|
198
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function atomicWriteJSON(filePath: string, data: unknown): Promise<void>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.atomicWriteJSON = atomicWriteJSON;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
async function atomicWriteJSON(filePath, data) {
|
|
10
|
+
const directory = path_1.default.dirname(filePath);
|
|
11
|
+
const temporaryPath = path_1.default.join(directory, `.${path_1.default.basename(filePath)}.${process.pid}.${Date.now()}.${Math.random()
|
|
12
|
+
.toString(16)
|
|
13
|
+
.slice(2)}.tmp`);
|
|
14
|
+
await fs_1.promises.mkdir(directory, { recursive: true });
|
|
15
|
+
try {
|
|
16
|
+
await fs_1.promises.writeFile(temporaryPath, JSON.stringify(data), 'utf-8');
|
|
17
|
+
await fs_1.promises.rename(temporaryPath, filePath);
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
await fs_1.promises.rm(temporaryPath, { force: true }).catch(() => undefined);
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=atomic-write.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-write.js","sourceRoot":"","sources":["../../../src/utils/atomic-write.ts"],"names":[],"mappings":";;;;;AAGA,0CAqBC;AAxBD,2BAAoC;AACpC,gDAAwB;AAEjB,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,IAAa;IAEb,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAC7B,SAAS,EACT,IAAI,cAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;SACtE,QAAQ,CAAC,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,CAClB,CAAC;IAEF,MAAM,aAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,aAAE,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,aAAE,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,aAAE,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { IWdioExclusionsFile } from '../types';
|
|
2
2
|
export declare const DEFAULT_EXCLUSIONS_PATH: string;
|
|
3
|
+
export declare function writeExclusionsAndStatusToFile(exclusions: IWdioExclusionsFile, filePath?: string): Promise<void>;
|
|
3
4
|
export declare function readExclusionsAndStatusFromFile(filePath?: string): Promise<IWdioExclusionsFile | null>;
|
|
@@ -4,11 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.DEFAULT_EXCLUSIONS_PATH = void 0;
|
|
7
|
+
exports.writeExclusionsAndStatusToFile = writeExclusionsAndStatusToFile;
|
|
7
8
|
exports.readExclusionsAndStatusFromFile = readExclusionsAndStatusFromFile;
|
|
8
9
|
const fs_1 = require("fs");
|
|
9
10
|
const path_1 = __importDefault(require("path"));
|
|
10
11
|
const sealights_plugins_common_1 = require("sealights-plugins-common");
|
|
12
|
+
const atomic_write_1 = require("./atomic-write");
|
|
11
13
|
exports.DEFAULT_EXCLUSIONS_PATH = path_1.default.resolve(process.cwd(), '.sl/.wdio-excluded-tests.json');
|
|
14
|
+
async function writeExclusionsAndStatusToFile(exclusions, filePath = exports.DEFAULT_EXCLUSIONS_PATH) {
|
|
15
|
+
await (0, atomic_write_1.atomicWriteJSON)(filePath, exclusions);
|
|
16
|
+
}
|
|
12
17
|
async function readExclusionsAndStatusFromFile(filePath = exports.DEFAULT_EXCLUSIONS_PATH) {
|
|
13
18
|
try {
|
|
14
19
|
const buffer = await fs_1.promises.readFile(filePath, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exclusions.js","sourceRoot":"","sources":["../../../src/utils/exclusions.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"exclusions.js","sourceRoot":"","sources":["../../../src/utils/exclusions.ts"],"names":[],"mappings":";;;;;;AAaA,wEAKC;AAED,0EAcC;AAlCD,2BAAoC;AACpC,gDAAwB;AAExB,uEAAqD;AAGrD,iDAAiD;AAEpC,QAAA,uBAAuB,GAAG,cAAI,CAAC,OAAO,CACjD,OAAO,CAAC,GAAG,EAAE,EACb,+BAA+B,CAChC,CAAC;AAEK,KAAK,UAAU,8BAA8B,CAClD,UAA+B,EAC/B,WAAmB,+BAAuB;IAE1C,MAAM,IAAA,8BAAe,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAEM,KAAK,UAAU,+BAA+B,CACnD,WAAmB,+BAAuB;IAE1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,MAA6B,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAA,oCAAS,GAAE,CAAC,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IExecutionData } from 'slnodejs';
|
|
2
|
+
export declare const DEFAULT_EXECUTION_PATH: string;
|
|
3
|
+
export declare function getMissingExecutionFields(value: unknown): Array<keyof IExecutionData>;
|
|
4
|
+
export declare function writeExecution(execution: IExecutionData, filePath?: string): Promise<void>;
|
|
5
|
+
export declare function readExecution(filePath?: string): Promise<IExecutionData | null>;
|
|
6
|
+
export declare function removeExecutionFile(filePath?: string): Promise<void>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DEFAULT_EXECUTION_PATH = void 0;
|
|
7
|
+
exports.getMissingExecutionFields = getMissingExecutionFields;
|
|
8
|
+
exports.writeExecution = writeExecution;
|
|
9
|
+
exports.readExecution = readExecution;
|
|
10
|
+
exports.removeExecutionFile = removeExecutionFile;
|
|
11
|
+
const fs_1 = require("fs");
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
13
|
+
const sealights_plugins_common_1 = require("sealights-plugins-common");
|
|
14
|
+
const atomic_write_1 = require("./atomic-write");
|
|
15
|
+
exports.DEFAULT_EXECUTION_PATH = path_1.default.resolve(process.cwd(), '.sl/.wdio-execution.json');
|
|
16
|
+
const REQUIRED_EXECUTION_FIELDS = [
|
|
17
|
+
'executionId',
|
|
18
|
+
'appName',
|
|
19
|
+
'branchName',
|
|
20
|
+
'buildName',
|
|
21
|
+
'buildSessionId',
|
|
22
|
+
'testStage',
|
|
23
|
+
'status',
|
|
24
|
+
];
|
|
25
|
+
function getMissingExecutionFields(value) {
|
|
26
|
+
if (!value || typeof value !== 'object') {
|
|
27
|
+
return [...REQUIRED_EXECUTION_FIELDS];
|
|
28
|
+
}
|
|
29
|
+
const execution = value;
|
|
30
|
+
return REQUIRED_EXECUTION_FIELDS.filter((field) => {
|
|
31
|
+
const fieldValue = execution[field];
|
|
32
|
+
return typeof fieldValue !== 'string' || fieldValue.trim().length === 0;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async function writeExecution(execution, filePath = exports.DEFAULT_EXECUTION_PATH) {
|
|
36
|
+
await (0, atomic_write_1.atomicWriteJSON)(filePath, execution);
|
|
37
|
+
}
|
|
38
|
+
async function readExecution(filePath = exports.DEFAULT_EXECUTION_PATH) {
|
|
39
|
+
let contents;
|
|
40
|
+
try {
|
|
41
|
+
contents = await fs_1.promises.readFile(filePath, 'utf-8');
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
const reason = error?.code === 'ENOENT' ? 'the file is missing' : String(error);
|
|
45
|
+
(0, sealights_plugins_common_1.getLogger)().error(`Unable to read shared execution state at '${filePath}': ${reason}. ` +
|
|
46
|
+
'Ensure the WebdriverIO launcher onPrepare hook completed successfully.');
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
let parsed;
|
|
50
|
+
try {
|
|
51
|
+
parsed = JSON.parse(contents);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
(0, sealights_plugins_common_1.getLogger)().error(`Unable to read shared execution state at '${filePath}': malformed JSON (${error}). ` +
|
|
55
|
+
'Remove the file and rerun the WebdriverIO launcher.');
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const missingFields = getMissingExecutionFields(parsed);
|
|
59
|
+
if (missingFields.length > 0) {
|
|
60
|
+
(0, sealights_plugins_common_1.getLogger)().error(`Unable to read shared execution state at '${filePath}': missing or empty required fields: ` +
|
|
61
|
+
`${missingFields.join(', ')}. Rerun the WebdriverIO launcher to recreate the file.`);
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
return parsed;
|
|
65
|
+
}
|
|
66
|
+
async function removeExecutionFile(filePath = exports.DEFAULT_EXECUTION_PATH) {
|
|
67
|
+
await fs_1.promises.rm(filePath, { force: true });
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/utils/execution.ts"],"names":[],"mappings":";;;;;;AAuBA,8DAYC;AAED,wCAKC;AAED,sCAqCC;AAED,kDAIC;AAvFD,2BAAoC;AACpC,gDAAwB;AAExB,uEAAqD;AAGrD,iDAAiD;AAEpC,QAAA,sBAAsB,GAAG,cAAI,CAAC,OAAO,CAChD,OAAO,CAAC,GAAG,EAAE,EACb,0BAA0B,CAC3B,CAAC;AAEF,MAAM,yBAAyB,GAAgC;IAC7D,aAAa;IACb,SAAS;IACT,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,WAAW;IACX,QAAQ;CACT,CAAC;AAEF,SAAgB,yBAAyB,CACvC,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,yBAAyB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,SAAyB,EACzB,WAAmB,8BAAsB;IAEzC,MAAM,IAAA,8BAAe,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC7C,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,WAAmB,8BAAsB;IAEzC,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,MAAM,GACV,KAAK,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,IAAA,oCAAS,GAAE,CAAC,KAAK,CACf,6CAA6C,QAAQ,MAAM,MAAM,IAAI;YACnE,wEAAwE,CAC3E,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,oCAAS,GAAE,CAAC,KAAK,CACf,6CAA6C,QAAQ,sBAAsB,KAAK,KAAK;YACnF,qDAAqD,CACxD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAA,oCAAS,GAAE,CAAC,KAAK,CACf,6CAA6C,QAAQ,uCAAuC;YAC1F,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD,CACtF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAwB,CAAC;AAClC,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,WAAmB,8BAAsB;IAEzC,MAAM,aAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.1.
|
|
1
|
+
export declare const version = "0.1.29";
|
package/tsOutputs/src/version.js
CHANGED