Skip to content

ci: prepare and publish releases in one workflow run - #73

Merged
LunaStev merged 1 commit into
wavefnd:masterfrom
LunaStev:ci/unified-release
Nov 2, 2026
Merged

LunaStev merged 1 commit into
wavefnd:masterfrom
LunaStev:ci/unified-release

Conversation

@LunaStev

@LunaStev LunaStev commented Nov 2, 2026

Copy link
Copy Markdown
Member

Running Publish HMath release before a separate preparation failed at candidate selection. Make the publish workflow prepare and verify its own candidate automatically, then publish that same candidate in one workflow run.

  • Remove the Prepared run ID input. Keep the existing package-index choice and PyPI trusted-publisher workflow filename.
  • Call the existing reusable preparation workflow when no staged release exists; publication depends on successful preparation.
  • Reuse an existing staged release's original artifacts after validating repository, source commit, version and successful candidate verification. Re-running failed jobs retains the successful preparation and its artifacts.
  • Retain the existing artifact/hash checks and Hackage, PyPI and GitHub publication steps.

Only two files under .github/workflows/ change. Library sources, tools, tests, README, documentation and version metadata are unchanged. This PR does not merge or publish a release.

Validation: actionlint passes for both workflows; eight isolated workflow-selector and gating scenarios pass (first run, recovery, incomplete preparation, wrong provenance/version, API failure and legacy preparation); all 28 existing candidate/publication tests pass. No external publication was executed during verification.

@LunaStev
LunaStev merged commit b9d666a into wavefnd:master Nov 2, 2026
13 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.

1 participant