From 41c2a8795dfcd267275e2c873e5f360534067145 Mon Sep 17 00:00:00 2001 From: "louisvarin@bitgo.com" Date: Tue, 28 Apr 2026 18:47:52 +0000 Subject: [PATCH] feat(ci): add express-only option to npmjs-release workflow Adds an `express-only` boolean input to the `npmjs-release` workflow dispatch. When set to `true`, the `get-release-context` and `release-bitgojs` jobs are skipped and only `get-express-release-context` and `publish-express-to-docker-hub` run. This allows the express Docker image to be re-published independently after a partial release failure where the npm packages were already published successfully. Ticket: WCN-308 --- .github/workflows/npmjs-release.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/npmjs-release.yml b/.github/workflows/npmjs-release.yml index 1300414e0a..10eb061045 100644 --- a/.github/workflows/npmjs-release.yml +++ b/.github/workflows/npmjs-release.yml @@ -10,6 +10,15 @@ on: type: boolean required: false default: false + express-only: + description: | + If true, skips the npm publish jobs and runs only the + express release (Docker image build and push). Use this + during release recovery when the npm packages were already + published but the express release did not complete. + type: boolean + required: false + default: false permissions: contents: write @@ -24,6 +33,7 @@ env: jobs: get-release-context: name: Get release context + if: inputs.express-only == false runs-on: ${{ vars.BASE_RUNNER_TYPE || 'ubuntu-latest' }} timeout-minutes: 10 outputs: @@ -111,6 +121,7 @@ jobs: release-bitgojs: name: Release BitGoJS + if: inputs.express-only == false needs: - get-release-context runs-on: ${{ vars.BASE_RUNNER_TYPE || 'ubuntu-latest' }} @@ -204,7 +215,9 @@ jobs: get-express-release-context: name: Get Express release context - if: inputs.dry-run == false + if: | + inputs.dry-run == false && + (inputs.express-only == true || needs.release-bitgojs.result == 'success') needs: - release-bitgojs runs-on: ${{ vars.BASE_RUNNER_TYPE || 'ubuntu-latest' }}