Skip to content

ci: protect release and lifecycle workflows - #296

Merged
abrichr merged 1 commit into
mainfrom
codex/evals-release-lifecycle-contract
Aug 26, 2026
Merged

ci: protect release and lifecycle workflows#296
abrichr merged 1 commit into
mainfrom
codex/evals-release-lifecycle-contract

Conversation

@abrichr

@abrichr abrichr commented Aug 26, 2026

Copy link
Copy Markdown
Member

What changed

  • Create release tags only after a reviewed version, changelog entry, and lock state are present on the exact protected main commit.
  • Give the release App one job: push the annotated release tag. It can't push a commit or branch.
  • Publish the exact App-created tag to PyPI through OIDC. Exact-tag reruns are safe after a partial release.
  • Add the App-only workflow that prepares Production lifecycle evidence for review.
  • Reject the lifecycle App from the general evaluation workflows and keep their runs event-specific and non-cancelling.
  • Remove the legacy documentation dispatch token and sender.

Why this is a draft

This PR must not merge until the openadapt-docs App dispatcher is installed and verified. The PR removes .github/workflows/notify-docs.yml and DOCS_DISPATCH_TOKEN. Merging it before the replacement exists would stop the current documentation sync.

The release and lifecycle paths also need their reviewed GitHub Apps, repository settings, and protected environments before anyone uses them.

Checks

  • 275 focused tests
  • Ruff
  • actionlint
  • YAML parse
  • recovery policy contracts
  • source boundary check
  • fresh wheel and source archive scans
  • git diff --check

@abrichr
abrichr marked this pull request as ready for review August 26, 2026 20:21
@abrichr
abrichr force-pushed the codex/evals-release-lifecycle-contract branch from 1483a73 to 57927a7 Compare August 26, 2026 20:21
@abrichr
abrichr merged commit 335b7da into main Aug 26, 2026
5 checks passed
@abrichr
abrichr deleted the codex/evals-release-lifecycle-contract branch August 26, 2026 20:25
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