Skip to content

ci: formalize release qualification lifecycle - #29

Merged
FernandoAbishai merged 2 commits into
mainfrom
release/release-gate-lifecycle
Aug 13, 2026
Merged

ci: formalize release qualification lifecycle#29
FernandoAbishai merged 2 commits into
mainfrom
release/release-gate-lifecycle

Conversation

@FernandoAbishai

@FernandoAbishai FernandoAbishai commented Aug 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • add a durable release QA lifecycle matrix separating source/PR, candidate, public dry-run, clean artifact, manual qualification, publish, and post-publish ownership
  • add deterministic model-manager smoke coverage to normal PR CI
  • make the no-argument release metadata smoke source-safe with a temporary deterministic fixture; candidate runs still validate the real packaged metadata directory via --dir
  • strengthen release workflow structure checks for job dependencies, native clean-runner verification, bounded exact-DMG identity/backend proof, and no clean-runner real-model duplication
  • run the bounded packaged identity/backend checks against ScriptCut.app mounted from the exact public DMG

Scope

  • preserves .github/workflows/release-unsigned.yml as the only public release authority
  • preserves build-once, exact-byte staging, attestations, clean native verification, current-main, confirmation, real-model, checksum, DMG, and ad-hoc signing gates
  • no product/runtime/transcription/signing-strategy changes
  • no tag or GitHub Release was created

Validation

Final PR head: 3cb1cd6165a5e96005ceb0d1b623ddeff44aad95

Normal PR CI passed:

Final hosted public dry-run passed:

  • run: https://github.com/FernandoAbishai/ScriptCut/actions/runs/31751105075
  • inputs: release_tag=v0.1.0-alpha.4, publish=false, real_model=true, empty confirmation
  • build and attest: passed in 9m40s
  • clean native arm64 verification: passed in 1m30s
  • exact DMG artifact: 370975228 bytes, SHA-256 0873d3a680ca11d9cd09272b9fdfe55a9ed355d29989544b0accea1aaa6edd5c
  • mounted exact-DMG identity: app.getVersion=0.1.0, CFBundleIdentifier=com.fernandoabishai.scriptcut
  • mounted exact-DMG backend: /health: 200, Finder-like PATH, bundled Python, no system Python dependency
  • Gatekeeper diagnostic: exit 3, expected for the unsigned alpha and not treated as trust
  • publish job: skipped

Local native candidate reached the existing iconutil gate but macOS 15.7.7 rejected the canonical iconset; hosted macos-14-arm64 validation passed the authoritative candidate and public artifact path.

@FernandoAbishai
FernandoAbishai marked this pull request as ready for review August 13, 2026 23:06
Copilot AI lite review requested due to automatic review settings August 13, 2026 23:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@FernandoAbishai
FernandoAbishai merged commit 90114a6 into main Aug 13, 2026
5 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