@testingbot/cli 1.0.6 → 1.0.7
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/dist/cli.js +4 -4
- package/dist/models/espresso_options.d.ts +4 -4
- package/dist/models/espresso_options.d.ts.map +1 -1
- package/dist/models/espresso_options.js +6 -7
- package/dist/models/maestro_options.d.ts +1 -1
- package/dist/models/maestro_options.d.ts.map +1 -1
- package/dist/models/maestro_options.js +1 -1
- package/dist/models/xcuitest_options.d.ts +4 -4
- package/dist/models/xcuitest_options.d.ts.map +1 -1
- package/dist/models/xcuitest_options.js +6 -7
- package/dist/providers/maestro.d.ts +8 -0
- package/dist/providers/maestro.d.ts.map +1 -1
- package/dist/providers/maestro.js +104 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -84,7 +84,7 @@ const espressoCommand = program
|
|
|
84
84
|
// Localization
|
|
85
85
|
.option('--language <lang>', 'App language (ISO 639-1 code, e.g., "en", "fr", "de").')
|
|
86
86
|
// Geolocation
|
|
87
|
-
.option('--geo-
|
|
87
|
+
.option('--geo-country-code <code>', 'Geographic IP location (ISO country code, e.g., "US", "DE").')
|
|
88
88
|
// Network throttling
|
|
89
89
|
.option('--throttle-network <speed>', 'Network throttling: 4G, 3G, Edge, or airplane.', (val) => val)
|
|
90
90
|
// Execution mode
|
|
@@ -137,7 +137,7 @@ const espressoCommand = program
|
|
|
137
137
|
language: args.language,
|
|
138
138
|
locale: args.locale,
|
|
139
139
|
timeZone: args.timezone,
|
|
140
|
-
|
|
140
|
+
geoCountryCode: args.geoCountryCode,
|
|
141
141
|
throttleNetwork: args.throttleNetwork,
|
|
142
142
|
quiet: args.quiet,
|
|
143
143
|
async: args.async,
|
|
@@ -335,7 +335,7 @@ const xcuitestCommand = program
|
|
|
335
335
|
// Localization
|
|
336
336
|
.option('--language <lang>', 'App language (ISO 639-1 code, e.g., "en", "fr", "de").')
|
|
337
337
|
// Geolocation
|
|
338
|
-
.option('--geo-
|
|
338
|
+
.option('--geo-country-code <code>', 'Geographic IP location (ISO country code, e.g., "US", "DE").')
|
|
339
339
|
// Network throttling
|
|
340
340
|
.option('--throttle-network <speed>', 'Network throttling: 4G, 3G, Edge, or airplane.', (val) => val)
|
|
341
341
|
// Execution mode
|
|
@@ -381,7 +381,7 @@ const xcuitestCommand = program
|
|
|
381
381
|
language: args.language,
|
|
382
382
|
locale: args.locale,
|
|
383
383
|
timeZone: args.timezone,
|
|
384
|
-
|
|
384
|
+
geoCountryCode: args.geoCountryCode,
|
|
385
385
|
throttleNetwork: args.throttleNetwork,
|
|
386
386
|
quiet: args.quiet,
|
|
387
387
|
async: args.async,
|
|
@@ -22,6 +22,7 @@ export interface EspressoCapabilities {
|
|
|
22
22
|
phoneOnly?: boolean;
|
|
23
23
|
name?: string;
|
|
24
24
|
build?: string;
|
|
25
|
+
'testingbot.geoCountryCode'?: string;
|
|
25
26
|
}
|
|
26
27
|
export interface EspressoRunOptions {
|
|
27
28
|
testRunner?: string;
|
|
@@ -35,7 +36,6 @@ export interface EspressoRunOptions {
|
|
|
35
36
|
language?: string;
|
|
36
37
|
locale?: string;
|
|
37
38
|
timeZone?: string;
|
|
38
|
-
geoLocation?: string;
|
|
39
39
|
throttle_network?: ThrottleNetwork | CustomNetworkProfile;
|
|
40
40
|
}
|
|
41
41
|
export default class EspressoOptions {
|
|
@@ -59,7 +59,7 @@ export default class EspressoOptions {
|
|
|
59
59
|
private _language?;
|
|
60
60
|
private _locale?;
|
|
61
61
|
private _timeZone?;
|
|
62
|
-
private
|
|
62
|
+
private _geoCountryCode?;
|
|
63
63
|
private _throttleNetwork?;
|
|
64
64
|
private _quiet;
|
|
65
65
|
private _async;
|
|
@@ -85,7 +85,7 @@ export default class EspressoOptions {
|
|
|
85
85
|
language?: string;
|
|
86
86
|
locale?: string;
|
|
87
87
|
timeZone?: string;
|
|
88
|
-
|
|
88
|
+
geoCountryCode?: string;
|
|
89
89
|
throttleNetwork?: ThrottleNetwork | CustomNetworkProfile;
|
|
90
90
|
quiet?: boolean;
|
|
91
91
|
async?: boolean;
|
|
@@ -114,7 +114,7 @@ export default class EspressoOptions {
|
|
|
114
114
|
get language(): string | undefined;
|
|
115
115
|
get locale(): string | undefined;
|
|
116
116
|
get timeZone(): string | undefined;
|
|
117
|
-
get
|
|
117
|
+
get geoCountryCode(): string | undefined;
|
|
118
118
|
get throttleNetwork(): ThrottleNetwork | CustomNetworkProfile | undefined;
|
|
119
119
|
get quiet(): boolean;
|
|
120
120
|
get async(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"espresso_options.d.ts","sourceRoot":"","sources":["../../src/models/espresso_options.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAC5C,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,SAAS,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"espresso_options.d.ts","sourceRoot":"","sources":["../../src/models/espresso_options.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ class EspressoOptions {
|
|
|
28
28
|
_locale;
|
|
29
29
|
_timeZone;
|
|
30
30
|
// Geolocation
|
|
31
|
-
|
|
31
|
+
_geoCountryCode;
|
|
32
32
|
// Network throttling
|
|
33
33
|
_throttleNetwork;
|
|
34
34
|
// Execution mode
|
|
@@ -64,7 +64,7 @@ class EspressoOptions {
|
|
|
64
64
|
this._language = options?.language;
|
|
65
65
|
this._locale = options?.locale;
|
|
66
66
|
this._timeZone = options?.timeZone;
|
|
67
|
-
this.
|
|
67
|
+
this._geoCountryCode = options?.geoCountryCode;
|
|
68
68
|
this._throttleNetwork = options?.throttleNetwork;
|
|
69
69
|
this._quiet = options?.quiet ?? false;
|
|
70
70
|
this._async = options?.async ?? false;
|
|
@@ -133,8 +133,8 @@ class EspressoOptions {
|
|
|
133
133
|
get timeZone() {
|
|
134
134
|
return this._timeZone;
|
|
135
135
|
}
|
|
136
|
-
get
|
|
137
|
-
return this.
|
|
136
|
+
get geoCountryCode() {
|
|
137
|
+
return this._geoCountryCode;
|
|
138
138
|
}
|
|
139
139
|
get throttleNetwork() {
|
|
140
140
|
return this._throttleNetwork;
|
|
@@ -174,6 +174,8 @@ class EspressoOptions {
|
|
|
174
174
|
caps.name = this._name;
|
|
175
175
|
if (this._build)
|
|
176
176
|
caps.build = this._build;
|
|
177
|
+
if (this._geoCountryCode)
|
|
178
|
+
caps['testingbot.geoCountryCode'] = this._geoCountryCode;
|
|
177
179
|
return caps;
|
|
178
180
|
}
|
|
179
181
|
getEspressoOptions() {
|
|
@@ -201,9 +203,6 @@ class EspressoOptions {
|
|
|
201
203
|
opts.locale = this._locale;
|
|
202
204
|
if (this._timeZone)
|
|
203
205
|
opts.timeZone = this._timeZone;
|
|
204
|
-
// Geolocation
|
|
205
|
-
if (this._geoLocation)
|
|
206
|
-
opts.geoLocation = this._geoLocation;
|
|
207
206
|
// Network throttling
|
|
208
207
|
if (this._throttleNetwork)
|
|
209
208
|
opts.throttle_network = this._throttleNetwork;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maestro_options.d.ts","sourceRoot":"","sources":["../../src/models/maestro_options.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAC5C,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,
|
|
1
|
+
{"version":3,"file":"maestro_options.d.ts","sourceRoot":"","sources":["../../src/models/maestro_options.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,7 +191,7 @@ class MaestroOptions {
|
|
|
191
191
|
if (this._throttleNetwork)
|
|
192
192
|
caps.throttleNetwork = this._throttleNetwork;
|
|
193
193
|
if (this._geoCountryCode)
|
|
194
|
-
caps.geoCountryCode = this._geoCountryCode;
|
|
194
|
+
caps['testingbot.geoCountryCode'] = this._geoCountryCode;
|
|
195
195
|
if (this._realDevice)
|
|
196
196
|
caps.realDevice = 'true';
|
|
197
197
|
return caps;
|
|
@@ -22,13 +22,13 @@ export interface XCUITestCapabilities {
|
|
|
22
22
|
phoneOnly?: boolean;
|
|
23
23
|
name?: string;
|
|
24
24
|
build?: string;
|
|
25
|
+
'testingbot.geoCountryCode'?: string;
|
|
25
26
|
}
|
|
26
27
|
export interface XCUITestRunOptions {
|
|
27
28
|
orientation?: Orientation;
|
|
28
29
|
language?: string;
|
|
29
30
|
locale?: string;
|
|
30
31
|
timeZone?: string;
|
|
31
|
-
geoLocation?: string;
|
|
32
32
|
throttle_network?: ThrottleNetwork | CustomNetworkProfile;
|
|
33
33
|
}
|
|
34
34
|
export default class XCUITestOptions {
|
|
@@ -45,7 +45,7 @@ export default class XCUITestOptions {
|
|
|
45
45
|
private _language?;
|
|
46
46
|
private _locale?;
|
|
47
47
|
private _timeZone?;
|
|
48
|
-
private
|
|
48
|
+
private _geoCountryCode?;
|
|
49
49
|
private _throttleNetwork?;
|
|
50
50
|
private _quiet;
|
|
51
51
|
private _async;
|
|
@@ -64,7 +64,7 @@ export default class XCUITestOptions {
|
|
|
64
64
|
language?: string;
|
|
65
65
|
locale?: string;
|
|
66
66
|
timeZone?: string;
|
|
67
|
-
|
|
67
|
+
geoCountryCode?: string;
|
|
68
68
|
throttleNetwork?: ThrottleNetwork | CustomNetworkProfile;
|
|
69
69
|
quiet?: boolean;
|
|
70
70
|
async?: boolean;
|
|
@@ -86,7 +86,7 @@ export default class XCUITestOptions {
|
|
|
86
86
|
get language(): string | undefined;
|
|
87
87
|
get locale(): string | undefined;
|
|
88
88
|
get timeZone(): string | undefined;
|
|
89
|
-
get
|
|
89
|
+
get geoCountryCode(): string | undefined;
|
|
90
90
|
get throttleNetwork(): ThrottleNetwork | CustomNetworkProfile | undefined;
|
|
91
91
|
get quiet(): boolean;
|
|
92
92
|
get async(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcuitest_options.d.ts","sourceRoot":"","sources":["../../src/models/xcuitest_options.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAC5C,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"xcuitest_options.d.ts","sourceRoot":"","sources":["../../src/models/xcuitest_options.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ class XCUITestOptions {
|
|
|
21
21
|
_locale;
|
|
22
22
|
_timeZone;
|
|
23
23
|
// Geolocation
|
|
24
|
-
|
|
24
|
+
_geoCountryCode;
|
|
25
25
|
// Network throttling
|
|
26
26
|
_throttleNetwork;
|
|
27
27
|
// Execution mode
|
|
@@ -50,7 +50,7 @@ class XCUITestOptions {
|
|
|
50
50
|
this._language = options?.language;
|
|
51
51
|
this._locale = options?.locale;
|
|
52
52
|
this._timeZone = options?.timeZone;
|
|
53
|
-
this.
|
|
53
|
+
this._geoCountryCode = options?.geoCountryCode;
|
|
54
54
|
this._throttleNetwork = options?.throttleNetwork;
|
|
55
55
|
this._quiet = options?.quiet ?? false;
|
|
56
56
|
this._async = options?.async ?? false;
|
|
@@ -98,8 +98,8 @@ class XCUITestOptions {
|
|
|
98
98
|
get timeZone() {
|
|
99
99
|
return this._timeZone;
|
|
100
100
|
}
|
|
101
|
-
get
|
|
102
|
-
return this.
|
|
101
|
+
get geoCountryCode() {
|
|
102
|
+
return this._geoCountryCode;
|
|
103
103
|
}
|
|
104
104
|
get throttleNetwork() {
|
|
105
105
|
return this._throttleNetwork;
|
|
@@ -139,6 +139,8 @@ class XCUITestOptions {
|
|
|
139
139
|
caps.name = this._name;
|
|
140
140
|
if (this._build)
|
|
141
141
|
caps.build = this._build;
|
|
142
|
+
if (this._geoCountryCode)
|
|
143
|
+
caps['testingbot.geoCountryCode'] = this._geoCountryCode;
|
|
142
144
|
return caps;
|
|
143
145
|
}
|
|
144
146
|
getXCUITestOptions() {
|
|
@@ -153,9 +155,6 @@ class XCUITestOptions {
|
|
|
153
155
|
opts.locale = this._locale;
|
|
154
156
|
if (this._timeZone)
|
|
155
157
|
opts.timeZone = this._timeZone;
|
|
156
|
-
// Geolocation
|
|
157
|
-
if (this._geoLocation)
|
|
158
|
-
opts.geoLocation = this._geoLocation;
|
|
159
158
|
// Network throttling
|
|
160
159
|
if (this._throttleNetwork)
|
|
161
160
|
opts.throttle_network = this._throttleNetwork;
|
|
@@ -105,6 +105,14 @@ export default class Maestro extends BaseProvider<MaestroOptions> {
|
|
|
105
105
|
* Check if a file path is a Maestro config file (config.yaml or config.yml)
|
|
106
106
|
*/
|
|
107
107
|
private isConfigFile;
|
|
108
|
+
private readFlowTags;
|
|
109
|
+
/**
|
|
110
|
+
* Load includeTags / excludeTags declared in the Maestro project's
|
|
111
|
+
* config.yaml (or config.yml). Returns undefined fields when no config
|
|
112
|
+
* exists or the values are not arrays.
|
|
113
|
+
*/
|
|
114
|
+
private loadConfigTags;
|
|
115
|
+
private filterFlowsByTags;
|
|
108
116
|
/**
|
|
109
117
|
* Check if a string looks like a file path (relative path with extension)
|
|
110
118
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maestro.d.ts","sourceRoot":"","sources":["../../src/providers/maestro.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"maestro.d.ts","sourceRoot":"","sources":["../../src/providers/maestro.ts"],"names":[],"mappings":"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"}
|
|
@@ -419,6 +419,18 @@ class Maestro extends base_provider_1.default {
|
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
421
|
}
|
|
422
|
+
// Apply --include-tags / --exclude-tags filtering: drop flow files whose
|
|
423
|
+
// frontmatter tags don't match, and drop dependencies orphaned as a result.
|
|
424
|
+
const configTags = baseDir
|
|
425
|
+
? await this.loadConfigTags(baseDir)
|
|
426
|
+
: { includeTags: undefined, excludeTags: undefined };
|
|
427
|
+
const effectiveIncludeTags = this.options.includeTags ?? configTags.includeTags;
|
|
428
|
+
const effectiveExcludeTags = this.options.excludeTags ?? configTags.excludeTags;
|
|
429
|
+
const filtered = await this.filterFlowsByTags(allFlowFiles, baseDir, effectiveIncludeTags, effectiveExcludeTags);
|
|
430
|
+
if (filtered !== allFlowFiles) {
|
|
431
|
+
allFlowFiles.length = 0;
|
|
432
|
+
allFlowFiles.push(...filtered);
|
|
433
|
+
}
|
|
422
434
|
if (!this.options.quiet) {
|
|
423
435
|
this.logIncludedFiles(allFlowFiles, baseDir);
|
|
424
436
|
// Show info about potential slow execution on specific real devices
|
|
@@ -580,6 +592,98 @@ class Maestro extends base_provider_1.default {
|
|
|
580
592
|
const basename = node_path_1.default.basename(filePath);
|
|
581
593
|
return basename === 'config.yaml' || basename === 'config.yml';
|
|
582
594
|
}
|
|
595
|
+
async readFlowTags(flowFile) {
|
|
596
|
+
try {
|
|
597
|
+
const content = await node_fs_1.default.promises.readFile(flowFile, 'utf-8');
|
|
598
|
+
const documents = [];
|
|
599
|
+
yaml.loadAll(content, (doc) => documents.push(doc));
|
|
600
|
+
for (const doc of documents) {
|
|
601
|
+
if (doc !== null && typeof doc === 'object' && !Array.isArray(doc)) {
|
|
602
|
+
const tags = doc.tags;
|
|
603
|
+
if (Array.isArray(tags)) {
|
|
604
|
+
return tags.filter((t) => typeof t === 'string');
|
|
605
|
+
}
|
|
606
|
+
return [];
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
catch {
|
|
611
|
+
// ignore
|
|
612
|
+
}
|
|
613
|
+
return [];
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* Load includeTags / excludeTags declared in the Maestro project's
|
|
617
|
+
* config.yaml (or config.yml). Returns undefined fields when no config
|
|
618
|
+
* exists or the values are not arrays.
|
|
619
|
+
*/
|
|
620
|
+
async loadConfigTags(baseDir) {
|
|
621
|
+
for (const configName of ['config.yaml', 'config.yml']) {
|
|
622
|
+
const candidate = node_path_1.default.join(baseDir, configName);
|
|
623
|
+
try {
|
|
624
|
+
const content = await node_fs_1.default.promises.readFile(candidate, 'utf-8');
|
|
625
|
+
const parsed = yaml.load(content);
|
|
626
|
+
if (parsed && typeof parsed === 'object') {
|
|
627
|
+
const include = Array.isArray(parsed.includeTags)
|
|
628
|
+
? parsed.includeTags.filter((t) => typeof t === 'string')
|
|
629
|
+
: undefined;
|
|
630
|
+
const exclude = Array.isArray(parsed.excludeTags)
|
|
631
|
+
? parsed.excludeTags.filter((t) => typeof t === 'string')
|
|
632
|
+
: undefined;
|
|
633
|
+
return { includeTags: include, excludeTags: exclude };
|
|
634
|
+
}
|
|
635
|
+
return {};
|
|
636
|
+
}
|
|
637
|
+
catch {
|
|
638
|
+
// try next candidate
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
return {};
|
|
642
|
+
}
|
|
643
|
+
async filterFlowsByTags(allFlowFiles, baseDir, includeTagsArg, excludeTagsArg) {
|
|
644
|
+
const includeTags = includeTagsArg ?? [];
|
|
645
|
+
const excludeTags = excludeTagsArg ?? [];
|
|
646
|
+
const hasInclude = includeTags.length > 0;
|
|
647
|
+
const hasExclude = excludeTags.length > 0;
|
|
648
|
+
if (!hasInclude && !hasExclude) {
|
|
649
|
+
return allFlowFiles;
|
|
650
|
+
}
|
|
651
|
+
const yamlFlows = [];
|
|
652
|
+
const configFiles = [];
|
|
653
|
+
for (const f of allFlowFiles) {
|
|
654
|
+
const ext = node_path_1.default.extname(f).toLowerCase();
|
|
655
|
+
if (ext === '.yaml' || ext === '.yml') {
|
|
656
|
+
if (this.isConfigFile(f)) {
|
|
657
|
+
configFiles.push(f);
|
|
658
|
+
}
|
|
659
|
+
else {
|
|
660
|
+
yamlFlows.push(f);
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
const keptYamlFlows = [];
|
|
665
|
+
for (const flowFile of yamlFlows) {
|
|
666
|
+
const tags = await this.readFlowTags(flowFile);
|
|
667
|
+
if (hasInclude && !tags.some((t) => includeTags.includes(t))) {
|
|
668
|
+
continue;
|
|
669
|
+
}
|
|
670
|
+
if (hasExclude && tags.some((t) => excludeTags.includes(t))) {
|
|
671
|
+
continue;
|
|
672
|
+
}
|
|
673
|
+
keptYamlFlows.push(flowFile);
|
|
674
|
+
}
|
|
675
|
+
if (keptYamlFlows.length === 0) {
|
|
676
|
+
throw new testingbot_error_1.default(`No flow files match the provided tag filters (--include-tags / --exclude-tags)`);
|
|
677
|
+
}
|
|
678
|
+
const keptResolved = new Set([...keptYamlFlows, ...configFiles].map((f) => node_path_1.default.resolve(f)));
|
|
679
|
+
for (const flowFile of keptYamlFlows) {
|
|
680
|
+
const deps = await this.discoverDependencies(flowFile, baseDir || node_path_1.default.dirname(flowFile));
|
|
681
|
+
for (const dep of deps) {
|
|
682
|
+
keptResolved.add(node_path_1.default.resolve(dep));
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
return allFlowFiles.filter((f) => keptResolved.has(node_path_1.default.resolve(f)));
|
|
686
|
+
}
|
|
583
687
|
/**
|
|
584
688
|
* Check if a string looks like a file path (relative path with extension)
|
|
585
689
|
*/
|