infra: add CI / all-required sentinel (cross-repo hard-gate sweep) #11
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Cross-repo sweep adding
CI / all-required (pull_request)(or equivalentsingle-sentinel context) to each repo's default-branch protection so that
"main cannot be merged until all CI is green" can be enforced via a single
required-status-check entry, instead of having to enumerate every individual
required job per repo.
Older sibling PATCH (audit trail):
molecule-ai/internal#345— themolecule-core PATCH that landed first under Hongming GO 2026-05-11 04:50-04:54Z
("until all CICD green main should not be merged by PR" + "apply that to all
repos and all future ones").
This repo is in Class B of the audit: it has CI workflows, the default
branch (
main) is protected, but there is noall-requiredsentineljob that posts a single hard-gate context. Without that sentinel, adding
a single org-wide required-check entry is not possible without breaking the
existing per-job status-check shape on
main.Current state (main BP)
Discovered CI workflows
.gitea/workflows/auto-promote-staging.yml.gitea/workflows/ci.yml.gitea/workflows/publish.ymlAsk
Add (or rename) a workflow that posts a single
all-requiredstatus underthe existing CI workflow name. Recommended pattern from
molecule-controlplane:Once that sentinel posts at least once on a PR against
main, the BPon this repo can be PATCHed to APPEND
<workflow-name> / all-required (pull_request)to
status_check_contexts— at which point a single required-check entrycovers all CI on this repo.
Why "append, don't replace"
Per
feedback_phantom_required_check_after_gitea_migration: never add arequired-check name that no workflow currently posts. Adding the sentinel
job (this PR's scope) must land and produce a check-run on the default
branch BEFORE the BP PATCH is applied, or the sentinel context will be a
phantom-required-check and block every PR forever.
Cross-links
molecule-ai/internal#345— molecule-core PATCH audit trail (older sibling)molecule-ai/internal#XXXX— this sweep's audit issue (to be filed; willlink back here)
feedback_phantom_required_check_after_gitea_migration— the failure modethis discipline avoids
Out of scope
mainBP.meta-sentinel that gates on existing jobs.
Cross-link: this issue's parent sweep audit is molecule-ai/internal#349. See that issue for the org-wide classification table and the larger (class-D, 53 repos without BP) scope-decision still pending.
PR #13 (
feat(ci): add all-required sentinel job) addresses this issue — addsCI / all-required (pull_request)context to the SDK Python CI workflow. The sentinel is queued in the merge queue.I've implemented the
all-requiredsentinel as PR #23. The changes:Renamed workflow
name:fromTest→CI— this changes existing context names fromTest / test (3.x)toCI / test (3.x). The branch protection BP update (separate step) should replaceTest / test (3.x)entries withCI / test (3.x)and addCI / all-requiredas a new required check.Added
all-requiredjob thatneeds: [test], usesif: always(), and fails if any matrix variant returnedfailure/cancelled/skipped.CI is running on PR #23. Once it posts
CI / all-required (pull_request)successfully, the BP can be updated.