Skip to content

Gate backend prod deploys on python-backend blessing#9399

Open
Git-on-my-level wants to merge 2 commits into
mainfrom
codex/python-backend-prod-blessing-gate-v2
Open

Gate backend prod deploys on python-backend blessing#9399
Git-on-my-level wants to merge 2 commits into
mainfrom
codex/python-backend-prod-blessing-gate-v2

Conversation

@Git-on-my-level

@Git-on-my-level Git-on-my-level commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Gate prod-only gcp_backend.yml deploys on a python-backend-bless-<sha> release via check-python-backend-blessing.py, before Google Auth / image build / Cloud Run deploy
  • Add typed break-glass inputs (override_unblessed + I-ACCEPT-UNBLESSED-PROD-RISK) and compute deploy identity from checked-out git rev-parse HEAD instead of raw GITHUB_SHA
  • Add .github/scripts/check-backend-prod-promotion-policy.py and enforce it (plus existing python blessing unit tests) in repo-checks.yml hygiene
  • Blessing-check args stay always-populated under set -u (same pattern as desktop Clarify desktop release qualification and stable-candidate lifecycle #9380)

Supersedes #9203. #9201 (surface registry) and #9202 (bless command + validators) are already on main; this PR only lands the remaining prod deploy gate + policy guard.

Desktop coupling (desktop promotion requiring backend blessing) remains a separate PR — successor to #9204.

Test plan

  • python3 .github/scripts/check-backend-prod-promotion-policy.pybackend prod promotion policy OK
  • python3 .github/scripts/test_check_python_backend_blessing.py → OK
  • python3 .github/scripts/test_release_blessing.py → OK
  • YAML parse of changed workflows via PyYAML
  • Confirm BLESSING_CHECK_ARGS is always populated (no empty OVERRIDE_ARGS=() under set -u)
  • CI repo-checks hygiene job green on this PR

Made with Cursor

Review in cubic

Require a python-backend-bless-<sha> release before prod gcp_backend
deploys, with a typed override and a repo-checks policy guard so the
gate stays ahead of GCP auth/build/deploy. Deploy identity now uses
checked-out HEAD instead of raw GITHUB_SHA.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Git-on-my-level

Copy link
Copy Markdown
Collaborator Author

@cursor address merge conflict

@cursor

cursor Bot commented Jul 10, 2026

Copy link
Copy Markdown

Merge conflict resolved and pushed.

Conflict: .github/workflows/repo-checks.yml — our branch added python-backend blessing tests; main added the automatic desktop beta candidate gate test.

Resolution: Kept all three hygiene steps:

- name: Test python backend blessing gate
  run: python3 .github/scripts/test_check_python_backend_blessing.py

- name: Test release blessing helpers
  run: python3 .github/scripts/test_release_blessing.py

- name: Test automatic desktop beta candidate gate
  run: python3 .github/scripts/test_check_desktop_auto_beta_candidate.py

Verification (all passed):

  • check-backend-prod-promotion-policy.py
  • test_check_python_backend_blessing.py
  • test_release_blessing.py
  • test_check_desktop_auto_beta_candidate.py

Pushed: 7f4c67aa4 on codex/python-backend-prod-blessing-gate-v2. PR #9399 should be mergeable with main now.

Open in Web Open in Cursor 

Resolve repo-checks.yml conflict by keeping both the python-backend
blessing/release tests and main's automatic desktop beta candidate test.

Verification:
- python3 .github/scripts/check-backend-prod-promotion-policy.py
- python3 .github/scripts/test_check_python_backend_blessing.py
- python3 .github/scripts/test_release_blessing.py
- python3 .github/scripts/test_check_desktop_auto_beta_candidate.py
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