Skip to content

Commit

Permalink
fix(core): handle failed CI workflows in CNW CLI (#9915)
Browse files Browse the repository at this point in the history
  • Loading branch information
meeroslav committed Apr 21, 2022
1 parent b7bf53b commit ec0f4b4
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 3 deletions.
1 change: 1 addition & 0 deletions docs/generated/packages/workspace.json
Expand Up @@ -684,6 +684,7 @@
"type": "string",
"description": "Workflow name.",
"$default": { "$source": "argv", "index": 0 },
"default": "build",
"x-prompt": "How should we name your workflow?",
"pattern": "^[a-zA-Z].*$"
}
Expand Down
29 changes: 26 additions & 3 deletions packages/create-nx-workspace/bin/create-nx-workspace.ts
Expand Up @@ -827,7 +827,7 @@ async function setupCI(
try {
const pmc = getPackageManagerCommand(packageManager);
// GENERATE WORKFLOWS HERE based on `ci` and `packageManager`
const res = Promise.allSettled(
const res = await Promise.allSettled(
ci.map(
async (provider) =>
await execAndWait(
Expand All @@ -836,8 +836,31 @@ async function setupCI(
)
)
);
ciSpinner.succeed('CI workflow(s) have been generated successfully');
return res;
if (res.some((r) => r.status === 'fulfilled')) {
if (res.some((r) => r.status === 'rejected')) {
// show error message that some failed
const failedWorkflows = res
.map((r, i) => [r.status, ci[i]])
.filter(([r, provider]) => r === 'rejected')
.map(([, provider]) => `"${provider}"`)
.join(', ');
ciSpinner.fail(
`Nx failed to generate some CI workflow(s): ${failedWorkflows}`
);
} else {
ciSpinner.succeed('CI workflow(s) have been generated successfully');
}
return res;
} else {
ciSpinner.fail();

output.error({
title: `Nx failed to generate CI workflow(s)`,
bodyLines: res.map((r: PromiseRejectedResult) => r.reason.message),
});

process.exit(1);
}
} catch (e) {
ciSpinner.fail();

Expand Down
1 change: 1 addition & 0 deletions packages/workspace/src/generators/ci-workflow/schema.json
Expand Up @@ -27,6 +27,7 @@
"$source": "argv",
"index": 0
},
"default": "build",
"x-prompt": "How should we name your workflow?",
"pattern": "^[a-zA-Z].*$"
}
Expand Down

1 comment on commit ec0f4b4

@vercel
Copy link

@vercel vercel bot commented on ec0f4b4 Apr 21, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

nx-dev – ./

nx-five.vercel.app
nx.dev
nx-dev-git-master-nrwl.vercel.app
nx-dev-nrwl.vercel.app

Please sign in to comment.