feat(ng-dev/release): create recover-ci-publish CLI command#3794
feat(ng-dev/release): create recover-ci-publish CLI command#3794josephperrott wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a new recover-ci-publish CLI command and tool to recover failed CI release publish runs locally by downloading built artifacts from GitHub Actions and publishing them. The feedback highlights a potential compilation and runtime issue because PublishCiTool does not yet support the useLocalNpmConfig and skipTagging options. Additionally, it is recommended to handle potential errors when spawning the native unzip utility, rename the --publishRegistry CLI option to --publish-registry for kebab-case consistency, and clean up unused variables and mocks in the test suite.
34ded43 to
5ecefde
Compare
|
JOEYBOT: I have addressed the feedback:
Regarding the compilation error for Please let me know if you have any other comments! |
cec5407 to
840779b
Compare
- Registered the new command `recover-ci-publish` in `ng-dev/release/cli.ts` and updated `ng-dev/release/BUILD.bazel` to depend on it. - Created `ReleaseRecoverCiPublishTool` to download packages zip from GHA run, unzip it, and invoke `PublishCiTool` with local config enabled. - Created yargs module `cli.ts` to configure positional run-id, dry-run, and registry options. - Extended visibility in `github-actions/release/publish/BUILD.bazel` to allow `ng-dev/release/recover-ci-publish` to import `PublishCiTool`. - Created comprehensive unit tests in `recover-ci-publish.spec.ts`.
52fd614 to
b69ff40
Compare
Registers the new command `recover-ci-publish` in `ng-dev/release/cli.ts` and implements it.
The command allows release managers to download build artifacts (`.tgz` packages) from a failed GitHub Actions run and publish them locally (break-glass recovery) using their local Wombat token session.
NOTE: This PR builds on top of changes in PR #3793 (which implements resilient and idempotent package publishing).