Skip to content

fix(release): verify signatures on fresh runner - #25

Merged
AlexMikhalev merged 1 commit into
mainfrom
codex/fresh-runner-release-verification
Sep 15, 2026
Merged

AlexMikhalev merged 1 commit into
mainfrom
codex/fresh-runner-release-verification

Conversation

@AlexMikhalev

Copy link
Copy Markdown
Contributor

Summary

  • keep candidate assets in a private draft after signing
  • verify checksums and all nine macOS signatures in a second ephemeral macOS job
  • move the sole publication mutation behind that fresh-consumer gate
  • restore the reviewed staging asset if final inventory or publication fails

Incident addressed

The signing job imported the legacy Apple Developer ID G1 intermediate. Its securityd trust state allowed same-job verification to pass, while a fresh consumer Mac rejected the byte-identical binary. This job boundary prevents signing credentials or trust cache from masking that failure.

Validation

  • python3 -m unittest tests.test_release_finalizer_contract (8 passed)
  • actionlint .github/workflows/finalize-prebuilt-release.yml
  • git diff --check
  • independent fresh download reproduced the defect and release was returned to draft before Cloudflare publication

@AlexMikhalev
AlexMikhalev merged commit 2b10458 into main Sep 15, 2026
1 check failed
@AlexMikhalev
AlexMikhalev deleted the codex/fresh-runner-release-verification branch September 15, 2026 19:05
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