diff --git a/.changeset/cool-clouds-jump.md b/.changeset/cool-clouds-jump.md new file mode 100644 index 0000000000..c94ab69a38 --- /dev/null +++ b/.changeset/cool-clouds-jump.md @@ -0,0 +1,5 @@ +--- +'@backstage/repo-tools': minor +--- + +Fix knip-report command to send 1 exit status in case of fail diff --git a/packages/repo-tools/src/commands/knip-reports/knip-extractor.ts b/packages/repo-tools/src/commands/knip-reports/knip-extractor.ts index 426895700b..50c429f986 100644 --- a/packages/repo-tools/src/commands/knip-reports/knip-extractor.ts +++ b/packages/repo-tools/src/commands/knip-reports/knip-extractor.ts @@ -178,5 +178,7 @@ export async function runKnipReports({ const fullDir = cliPaths.resolveTargetRoot(packageDir); cleanKnipConfig({ packageDir: fullDir }); }); + + throw e; } } diff --git a/packages/repo-tools/src/commands/knip-reports/knip-reports.ts b/packages/repo-tools/src/commands/knip-reports/knip-reports.ts index 48ffa6cbdb..79872b4cae 100644 --- a/packages/repo-tools/src/commands/knip-reports/knip-reports.ts +++ b/packages/repo-tools/src/commands/knip-reports/knip-reports.ts @@ -46,9 +46,14 @@ export const buildKnipReports = async (paths: string[] = [], opts: Options) => { if (selectedPackageDirs.length > 0) { console.log('# Generating package knip reports'); - await runKnipReports({ - packageDirs: selectedPackageDirs, - isLocalBuild: !isCiBuild, - }); + + try { + await runKnipReports({ + packageDirs: selectedPackageDirs, + isLocalBuild: !isCiBuild, + }); + } catch (e) { + process.exit(1); + } } };