Skip to content

fix(release): harden publish artifact handoff#66

Merged
f0rr0 merged 1 commit into
mainfrom
f0rr0/fix-wasix-aot-artifact-download
Jun 19, 2026
Merged

fix(release): harden publish artifact handoff#66
f0rr0 merged 1 commit into
mainfrom
f0rr0/fix-wasix-aot-artifact-download

Conversation

@f0rr0

@f0rr0 f0rr0 commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Normalize downloaded WASIX AOT CI artifact envelopes before publish validation so release dry-runs can consume the current CI artifact layout.
  • Add a release_commit workflow input for publish and publish-dry-run: it resolves a full SHA, requires it to be on current main, allows only release-tooling changes between the release commit and workflow commit, and uses the selected SHA for planning, CI gates, artifact downloads, publishing, and verification.
  • Anchor release-please GitHub releases/tags to the selected release commit by creating a temporary target branch only when release_commit differs from the workflow commit.
  • Remove the GitHub release asset overwrite switch; identical assets are skipped, but conflicting bytes now fail and require manual asset cleanup.
  • Refresh derived release fingerprints/evidence required by the xtask asset handoff change.

Validation

  • bash -n .github/scripts/resolve-release-head.sh .github/scripts/download-wasix-runtime-build-artifacts.sh .github/scripts/download-build-artifacts.sh .github/scripts/require-workflow-success.sh
  • python3 -m py_compile tools/release/release.py tools/release/upload_github_release_assets.py tools/policy/check-release-policy.py tools/release/check_artifact_targets.py tools/release/check_release_metadata.py
  • python3 tools/policy/check-release-policy.py
  • tools/policy/check-workflows.sh
  • python3 tools/release/check_artifact_targets.py
  • bun tools/policy/assertions/assert-ci-workflows.mjs
  • tools/release/release.py check
  • tools/release/sync_release_pr.py --check
  • resolver smoke tests for default, valid lagging release commit, and rejected non-tooling lagging release commit
  • cargo test -p xtask
  • git diff --check
  • python3 tools/release/upload_github_release_assets.py --help
  • python3 tools/release/release.py publish --help

Normalize downloaded CI AOT artifact envelopes before WASIX publish validation.

Allow publish and publish-dry-run to target an explicit release commit while running the latest release tooling, with CI artifact gates and release-please tags anchored to that commit.

Keep GitHub release asset uploads immutable by failing on conflicting bytes instead of exposing an overwrite switch.
@f0rr0 f0rr0 force-pushed the f0rr0/fix-wasix-aot-artifact-download branch from 7c470bd to 7d4127f Compare June 19, 2026 22:48
@f0rr0 f0rr0 changed the title fix(release): download CI AOT artifact envelopes fix(release): harden publish artifact handoff Jun 19, 2026
@f0rr0 f0rr0 merged commit 852a645 into main Jun 19, 2026
2 of 62 checks passed
@f0rr0 f0rr0 deleted the f0rr0/fix-wasix-aot-artifact-download branch June 19, 2026 22:50
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