Skip to content

fix(root): unblock express jobs in npmjs-release#8654

Merged
zahin-mohammad merged 1 commit intomasterfrom
zahinmohammad/WCN-357-fix-express-skip-recovery-mode
Apr 30, 2026
Merged

fix(root): unblock express jobs in npmjs-release#8654
zahin-mohammad merged 1 commit intomasterfrom
zahinmohammad/WCN-357-fix-express-skip-recovery-mode

Conversation

@zahin-mohammad
Copy link
Copy Markdown
Contributor

@zahin-mohammad zahin-mohammad commented Apr 29, 2026

Summary

  • After #8650 introduced an always() chain on release-bitgojs (so it can run when one of its two context jobs is skipped — get-release-context in recovery mode, get-recovery-context in normal mode), the downstream Express jobs (get-express-release-context, publish-express-to-docker-hub) silently skip in both modes. GHA's implicit success() propagates the skipped context-job status as not-success along the chain, so Express skips even though release-bitgojs succeeded.
  • Override with explicit always() && needs.<>.result == 'success' on both Express jobs so the docker publish runs whenever release-bitgojs succeeded, regardless of which context job ran.

Why

Manifested in the recovery-mode run that recovered the Apr 28 partial-publish (bitgo@50.34.0, @bitgo/account-lib@27.21.0): npm publish recovered correctly but bitgo/express:15.27.0 was never pushed to Docker Hub. The same bug would skip Express on the next normal release until this lands — there hasn't been a successful normal release since #8650 merged.

Test plan

  • Trigger workflow with recovery-mode: true and confirm get-express-release-context and publish-express-to-docker-hub both run after release-bitgojs succeeds.
  • Trigger normal release and confirm Express jobs run — fix is needed in normal mode too, not just recovery.
  • Trigger with dry-run: true and confirm Express jobs are skipped (gated by inputs.dry-run == false).
  • Force release-bitgojs to fail mid-step and confirm Express jobs are skipped (gated by release-bitgojs.result == 'success').

Ticket: WCN-357

@linear
Copy link
Copy Markdown

linear Bot commented Apr 29, 2026

@zahin-mohammad zahin-mohammad force-pushed the zahinmohammad/WCN-357-fix-express-skip-recovery-mode branch from 16d3cee to bcc422d Compare April 29, 2026 17:35
@zahin-mohammad zahin-mohammad marked this pull request as ready for review April 29, 2026 17:43
@zahin-mohammad zahin-mohammad requested review from a team as code owners April 29, 2026 17:43
@zahin-mohammad zahin-mohammad force-pushed the zahinmohammad/WCN-357-fix-express-skip-recovery-mode branch from bcc422d to 6fccfb7 Compare April 29, 2026 17:47
#8650 introduced an `always()` chain on `release-bitgojs` so it can
run when one of its two context jobs is skipped (get-release-context
in recovery mode, get-recovery-context in normal mode). The Express
jobs (get-express-release-context, publish-express-to-docker-hub)
relied on GHA's implicit `success()` against `release-bitgojs`, which
propagates the skipped context-job status as not-success along the
chain. Express therefore skips on both modes even though release-
bitgojs itself succeeded.

Override with explicit `always() && needs.<>.result == 'success'` on
both Express jobs so the docker publish runs whenever release-bitgojs
actually succeeded, regardless of which context job ran.

Ticket: WCN-357
@zahin-mohammad zahin-mohammad changed the title fix(root): unblock express jobs in recovery-mode fix(root): unblock express jobs in npmjs-release Apr 29, 2026
@zahin-mohammad zahin-mohammad force-pushed the zahinmohammad/WCN-357-fix-express-skip-recovery-mode branch from 6fccfb7 to 620f8db Compare April 29, 2026 18:10
@zahin-mohammad zahin-mohammad merged commit 3ec7d94 into master Apr 30, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants