Skip to content

ci: gate releases on the acceptance suite via a reusable workflow - #328

Open
leggetter wants to merge 1 commit into
mainfrom
ci/gate-release-on-acceptance
Open

ci: gate releases on the acceptance suite via a reusable workflow#328
leggetter wants to merge 1 commit into
mainfrom
ci/gate-release-on-acceptance

Conversation

@leggetter

Copy link
Copy Markdown
Collaborator

Summary

Gate the release on the acceptance suite (#326 task 2, following the flake fix in #327). A release now publishes only if acceptance passes on the tagged commit.

How

Extracts the acceptance jobs into a reusable workflow (.github/workflows/acceptance.yml, workflow_call) so they aren't duplicated:

  • test-acceptance.yml (on PR) now calls it.
  • release.yml adds an acceptance job that calls it, and build-mac / build-linux / build-windows (and therefore publish-npm) needs: it.

So on a tag push: acceptance runs first → builds + npm publish only run if it's green. On a transient failure, Re-run failed jobs re-runs acceptance and proceeds if green — no re-tag needed.

Validation

This PR's own acceptance run exercises the new reusable workflow via the PR path, so a broken reusable conversion would surface here before it ever gates a release. The release path calls the same reusable workflow.

Notes

  • Releases now take ~12 min longer (acceptance runs before builds) — the intended trade-off.
  • Acceptance still hits live APIs; fix(test): reset recording proxy between 502 retries to fix telemetry flake #327 removed the invocation_id/retry flake, and "Re-run failed jobs" covers residual transient failures.
  • Branch-protection required checks are unchanged (unit-test only), so the reusable-workflow check-name change doesn't affect merge gating.

Closes #326.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UQV9qtvETd62qg2iDRR6kY

Extract the acceptance jobs into a reusable workflow (workflow_call) and call it from both test-acceptance.yml (PR) and release.yml. In release.yml the build jobs now needs:[acceptance], so builds and the npm publish only run if acceptance passes on the tagged commit. Re-run failed jobs recovers from transient failures without re-tagging. Closes #326.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UQV9qtvETd62qg2iDRR6kY
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.

CI: gate releases on acceptance tests (fix AT flakiness first)

1 participant