@smoothbricks/cli 0.10.12 → 0.10.14
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 +1 -0
- package/dist/github-ci/index.d.ts +2 -1
- package/dist/github-ci/index.d.ts.map +1 -1
- package/dist/github-ci/index.js +5 -2
- package/dist/monorepo/ci-workflow.js +5 -3
- package/package.json +1 -1
- package/src/cli.ts +2 -0
- package/src/github-ci/index.test.ts +3 -2
- package/src/github-ci/index.ts +14 -2
- package/src/monorepo/__tests__/ci-workflow.test.ts +6 -3
- package/src/monorepo/ci-workflow.ts +5 -3
package/dist/cli.js
CHANGED
|
@@ -286,6 +286,7 @@ function buildProgram() {
|
|
|
286
286
|
.option('--mode <mode>', 'auto, affected, or run-many', 'auto')
|
|
287
287
|
.option('--configuration <configuration>')
|
|
288
288
|
.option('--stage <stage>')
|
|
289
|
+
.option('--stream-output', 'stream Nx task output without prefixes')
|
|
289
290
|
.action(async (options) => {
|
|
290
291
|
const { githubCiNxSmart } = await import('./github-ci/index.js');
|
|
291
292
|
await githubCiNxSmart(await findRepoRoot(), options);
|
|
@@ -18,7 +18,7 @@ export interface GithubActionsEventPayload {
|
|
|
18
18
|
}
|
|
19
19
|
type NxSmartMode = 'auto' | 'affected' | 'run-many';
|
|
20
20
|
export declare function cleanupGithubCiCache(root: string): Promise<void>;
|
|
21
|
-
export declare function nxSmartArgs(target: string, mode: 'affected' | 'run-many', configuration?: string, stage?: string): string[];
|
|
21
|
+
export declare function nxSmartArgs(target: string, mode: 'affected' | 'run-many', configuration?: string, stage?: string, streamOutput?: boolean): string[];
|
|
22
22
|
export declare function githubCiNxSmart(root: string, options: {
|
|
23
23
|
target: string;
|
|
24
24
|
name?: string;
|
|
@@ -26,6 +26,7 @@ export declare function githubCiNxSmart(root: string, options: {
|
|
|
26
26
|
mode?: NxSmartMode;
|
|
27
27
|
configuration?: string;
|
|
28
28
|
stage?: string;
|
|
29
|
+
streamOutput?: boolean;
|
|
29
30
|
}): Promise<void>;
|
|
30
31
|
export interface NxRunManyOptions {
|
|
31
32
|
targets: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github-ci/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,KAAK,eAAe,EAA8D,MAAM,sBAAsB,CAAC;AACxH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,EAAE;gBACL,SAAS,CAAC,EAAE,MAAM,CAAC;aACpB,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAkBD,KAAK,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;AAKpD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBtE;AAmFD,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GAAG,UAAU,EAC7B,aAAa,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github-ci/index.ts"],"names":[],"mappings":"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"}
|
package/dist/github-ci/index.js
CHANGED
|
@@ -138,7 +138,7 @@ async function addReferencesFrom(roots, path, cwd) {
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
export function nxSmartArgs(target, mode, configuration, stage) {
|
|
141
|
+
export function nxSmartArgs(target, mode, configuration, stage, streamOutput = false) {
|
|
142
142
|
const args = [mode, '-t', target];
|
|
143
143
|
if (configuration) {
|
|
144
144
|
args.push(`--configuration=${configuration}`);
|
|
@@ -146,6 +146,9 @@ export function nxSmartArgs(target, mode, configuration, stage) {
|
|
|
146
146
|
if (stage) {
|
|
147
147
|
args.push(`--stage=${stage}`);
|
|
148
148
|
}
|
|
149
|
+
if (streamOutput) {
|
|
150
|
+
args.push('--outputStyle=stream-without-prefixes');
|
|
151
|
+
}
|
|
149
152
|
args.push(`--exclude=tag:ci:skip:${target}`, `--parallel=${NX_PARALLEL}`);
|
|
150
153
|
return args;
|
|
151
154
|
}
|
|
@@ -154,7 +157,7 @@ export async function githubCiNxSmart(root, options) {
|
|
|
154
157
|
const step = options.step ?? '';
|
|
155
158
|
await createGithubStatus(name, step);
|
|
156
159
|
const mode = resolveNxSmartMode(options.mode ?? 'auto');
|
|
157
|
-
const nxArgs = nxSmartArgs(options.target, mode, options.configuration, options.stage);
|
|
160
|
+
const nxArgs = nxSmartArgs(options.target, mode, options.configuration, options.stage, options.streamOutput);
|
|
158
161
|
const status = await runStatus('nx', nxArgs, root);
|
|
159
162
|
await updateGithubStatus(name, status === 0 ? 'success' : 'failure', step);
|
|
160
163
|
if (status !== 0) {
|
|
@@ -253,11 +253,13 @@ function renderE2eDeploymentJob(options) {
|
|
|
253
253
|
return '';
|
|
254
254
|
return `
|
|
255
255
|
e2e-deployment:
|
|
256
|
-
name:
|
|
256
|
+
name: E2E Tests (Deployed Stage)
|
|
257
257
|
needs: main
|
|
258
258
|
${renderRunsOnLine(options.runsOn)}
|
|
259
259
|
timeout-minutes: 15
|
|
260
260
|
if: \${{ needs.main.result == 'success' && needs.main.outputs.deployment-stage != '' }}
|
|
261
|
+
env:
|
|
262
|
+
GH_TOKEN: \${{ github.token }}
|
|
261
263
|
steps:
|
|
262
264
|
# Step 1: GitHub adds "Set up job" automatically
|
|
263
265
|
# Step 2
|
|
@@ -273,9 +275,9 @@ ${renderRunsOnLine(options.runsOn)}
|
|
|
273
275
|
uses: ./.github/actions/setup-devenv
|
|
274
276
|
|
|
275
277
|
# Step 4
|
|
276
|
-
- name:
|
|
278
|
+
- name: E2E Tests (Deployed Stage)
|
|
277
279
|
# prettier-ignore
|
|
278
|
-
run: smoo github-ci nx-smart --target e2e-deployment --mode run-many --stage "\${{ needs.main.outputs.deployment-stage }}" --name "
|
|
280
|
+
run: smoo github-ci nx-smart --target e2e-deployment --mode run-many --stage "\${{ needs.main.outputs.deployment-stage }}" --stream-output --name "E2E Tests (Deployed Stage)" --step 4
|
|
279
281
|
|
|
280
282
|
# Step 5
|
|
281
283
|
- name: 🧹 Cleanup and cache Nix/devenv
|
package/package.json
CHANGED
package/src/cli.ts
CHANGED
|
@@ -336,6 +336,7 @@ function buildProgram(): Command {
|
|
|
336
336
|
.option('--mode <mode>', 'auto, affected, or run-many', 'auto')
|
|
337
337
|
.option('--configuration <configuration>')
|
|
338
338
|
.option('--stage <stage>')
|
|
339
|
+
.option('--stream-output', 'stream Nx task output without prefixes')
|
|
339
340
|
.action(
|
|
340
341
|
async (options: {
|
|
341
342
|
target: string;
|
|
@@ -344,6 +345,7 @@ function buildProgram(): Command {
|
|
|
344
345
|
mode?: 'auto' | 'affected' | 'run-many';
|
|
345
346
|
configuration?: string;
|
|
346
347
|
stage?: string;
|
|
348
|
+
streamOutput?: boolean;
|
|
347
349
|
}) => {
|
|
348
350
|
const { githubCiNxSmart } = await import('./github-ci/index.js');
|
|
349
351
|
await githubCiNxSmart(await findRepoRoot(), options);
|
|
@@ -134,12 +134,13 @@ describe('GitHub CI Nx target expansion', () => {
|
|
|
134
134
|
).toEqual(['native:package-linux', 'native:compile-linux', 'native:build']);
|
|
135
135
|
});
|
|
136
136
|
|
|
137
|
-
it('adds optional stage before the generic target skip tag only to nx-smart', () => {
|
|
138
|
-
expect(nxSmartArgs('e2e-deployment', 'run-many', undefined, 'pr123')).toEqual([
|
|
137
|
+
it('adds optional stage and streaming before the generic target skip tag only to nx-smart', () => {
|
|
138
|
+
expect(nxSmartArgs('e2e-deployment', 'run-many', undefined, 'pr123', true)).toEqual([
|
|
139
139
|
'run-many',
|
|
140
140
|
'-t',
|
|
141
141
|
'e2e-deployment',
|
|
142
142
|
'--stage=pr123',
|
|
143
|
+
'--outputStyle=stream-without-prefixes',
|
|
143
144
|
'--exclude=tag:ci:skip:e2e-deployment',
|
|
144
145
|
'--parallel=100%',
|
|
145
146
|
]);
|
package/src/github-ci/index.ts
CHANGED
|
@@ -159,6 +159,7 @@ export function nxSmartArgs(
|
|
|
159
159
|
mode: 'affected' | 'run-many',
|
|
160
160
|
configuration?: string,
|
|
161
161
|
stage?: string,
|
|
162
|
+
streamOutput = false,
|
|
162
163
|
): string[] {
|
|
163
164
|
const args = [mode, '-t', target];
|
|
164
165
|
if (configuration) {
|
|
@@ -167,19 +168,30 @@ export function nxSmartArgs(
|
|
|
167
168
|
if (stage) {
|
|
168
169
|
args.push(`--stage=${stage}`);
|
|
169
170
|
}
|
|
171
|
+
if (streamOutput) {
|
|
172
|
+
args.push('--outputStyle=stream-without-prefixes');
|
|
173
|
+
}
|
|
170
174
|
args.push(`--exclude=tag:ci:skip:${target}`, `--parallel=${NX_PARALLEL}`);
|
|
171
175
|
return args;
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
export async function githubCiNxSmart(
|
|
175
179
|
root: string,
|
|
176
|
-
options: {
|
|
180
|
+
options: {
|
|
181
|
+
target: string;
|
|
182
|
+
name?: string;
|
|
183
|
+
step?: string;
|
|
184
|
+
mode?: NxSmartMode;
|
|
185
|
+
configuration?: string;
|
|
186
|
+
stage?: string;
|
|
187
|
+
streamOutput?: boolean;
|
|
188
|
+
},
|
|
177
189
|
): Promise<void> {
|
|
178
190
|
const name = options.name ?? options.target;
|
|
179
191
|
const step = options.step ?? '';
|
|
180
192
|
await createGithubStatus(name, step);
|
|
181
193
|
const mode = resolveNxSmartMode(options.mode ?? 'auto');
|
|
182
|
-
const nxArgs = nxSmartArgs(options.target, mode, options.configuration, options.stage);
|
|
194
|
+
const nxArgs = nxSmartArgs(options.target, mode, options.configuration, options.stage, options.streamOutput);
|
|
183
195
|
const status = await runStatus('nx', nxArgs, root);
|
|
184
196
|
await updateGithubStatus(name, status === 0 ? 'success' : 'failure', step);
|
|
185
197
|
if (status !== 0) {
|
|
@@ -77,17 +77,20 @@ describe('CI workflow definition', () => {
|
|
|
77
77
|
const rendered = renderCiWorkflowYaml(options({ deploy: true, e2eDeployment: true, runsOn: [...nixosRunsOn] }));
|
|
78
78
|
|
|
79
79
|
expect(rendered).toContain('deployment-stage: ${{ steps.deploy.outputs.stage }}');
|
|
80
|
-
expect(rendered).toContain(' e2e-deployment:\n name:
|
|
80
|
+
expect(rendered).toContain(' e2e-deployment:\n name: E2E Tests (Deployed Stage)\n needs: main');
|
|
81
81
|
expect(rendered).not.toContain('\n\n\n e2e-deployment:');
|
|
82
82
|
expect(rendered).toContain(
|
|
83
83
|
"if: ${{ needs.main.result == 'success' && needs.main.outputs.deployment-stage != '' }}",
|
|
84
84
|
);
|
|
85
85
|
expect(rendered).toContain('timeout-minutes: 15');
|
|
86
|
+
expect(rendered).toContain(
|
|
87
|
+
"if: ${{ needs.main.result == 'success' && needs.main.outputs.deployment-stage != '' }}\n env:\n GH_TOKEN: ${{ github.token }}\n steps:",
|
|
88
|
+
);
|
|
86
89
|
expect(rendered).toContain('# prettier-ignore\n run: smoo github-ci nx-smart --target e2e-deployment');
|
|
87
90
|
expect(rendered).toContain(
|
|
88
|
-
'smoo github-ci nx-smart --target e2e-deployment --mode run-many --stage "${{ needs.main.outputs.deployment-stage }}" --name "
|
|
91
|
+
'smoo github-ci nx-smart --target e2e-deployment --mode run-many --stage "${{ needs.main.outputs.deployment-stage }}" --stream-output --name "E2E Tests (Deployed Stage)" --step 4',
|
|
89
92
|
);
|
|
90
|
-
expect(rendered.match(/name:
|
|
93
|
+
expect(rendered.match(/name: E2E Tests \(Deployed Stage\)/g)).toHaveLength(2);
|
|
91
94
|
});
|
|
92
95
|
|
|
93
96
|
it('omits optional browser and deployment-E2E lanes when disabled', () => {
|
|
@@ -295,11 +295,13 @@ function renderE2eDeploymentJob(options: CiWorkflowDefinitionOptions): string {
|
|
|
295
295
|
if (!options.e2eDeployment) return '';
|
|
296
296
|
return `
|
|
297
297
|
e2e-deployment:
|
|
298
|
-
name:
|
|
298
|
+
name: E2E Tests (Deployed Stage)
|
|
299
299
|
needs: main
|
|
300
300
|
${renderRunsOnLine(options.runsOn)}
|
|
301
301
|
timeout-minutes: 15
|
|
302
302
|
if: \${{ needs.main.result == 'success' && needs.main.outputs.deployment-stage != '' }}
|
|
303
|
+
env:
|
|
304
|
+
GH_TOKEN: \${{ github.token }}
|
|
303
305
|
steps:
|
|
304
306
|
# Step 1: GitHub adds "Set up job" automatically
|
|
305
307
|
# Step 2
|
|
@@ -315,9 +317,9 @@ ${renderRunsOnLine(options.runsOn)}
|
|
|
315
317
|
uses: ./.github/actions/setup-devenv
|
|
316
318
|
|
|
317
319
|
# Step 4
|
|
318
|
-
- name:
|
|
320
|
+
- name: E2E Tests (Deployed Stage)
|
|
319
321
|
# prettier-ignore
|
|
320
|
-
run: smoo github-ci nx-smart --target e2e-deployment --mode run-many --stage "\${{ needs.main.outputs.deployment-stage }}" --name "
|
|
322
|
+
run: smoo github-ci nx-smart --target e2e-deployment --mode run-many --stage "\${{ needs.main.outputs.deployment-stage }}" --stream-output --name "E2E Tests (Deployed Stage)" --step 4
|
|
321
323
|
|
|
322
324
|
# Step 5
|
|
323
325
|
- name: 🧹 Cleanup and cache Nix/devenv
|