Commit 54a2ce4
authored
chore(asf): enable required-status-checks protection on main (#204)
ASF Infra was previously not configuring any branch protection on
`main` for this repo — verified via the GitHub protection API
(`branches/main/protection` → 404, `branches/main.protected` →
false) and confirmed by the prior `.asf.yaml` comment ("No
`protected_branches:` block by design"). The comment also said
"configured directly in GitHub for now", but inspection shows no
direct-on-GitHub rule was ever created. This change moves
branch-protection ownership into `.asf.yaml` where it sits next to
the rest of the repo config.
What landed in `.asf.yaml`:
- New `protected_branches: main:` block.
- `required_status_checks` lists the eleven contexts that run on
every PR against `main` (so they always post a status — a
prerequisite for classic branch-protection's
required-checks model, which lacks "require only if run"
semantics):
* Analyze (python)
* Analyze (actions)
* zizmor
* prek
* pytest (oauth-draft)
* pytest (generate-cve-json)
* pytest (skill-validator)
* pytest (privacy-llm-checker)
* pytest (privacy-llm-redactor)
* pytest (vulnogram-oauth-api)
* pytest (sandbox-lint)
Path-filtered workflows (`asf-allowlist-check`, sandbox-lint's
`lint .claude/settings.json against baseline`) are deliberately
excluded — making them required would block any PR that didn't
touch the filtered paths. `lychee` (link-check) is also
excluded; external link rot is a maintenance concern handled
by the daily scheduled run, not a merge-blocker.
`strict: false` so a merge to `main` does not invalidate every
other open PR — standard ASF multi-contributor practice.
- `required_linear_history: true` matches the existing
`enabled_merge_buttons.squash: true` setting — squash is the
only enabled merge mode.
- `required_conversation_resolution: true` blocks merge while
any review thread is unresolved. Bites independently of the
approval requirement.
- `required_signatures: false` — external contributors without
configured GPG/SSH signing would otherwise be blocked from
contributing.
- `required_pull_request_reviews:` deliberately OMITTED for now,
with a prominent TEMPORARY POSTURE block in the .asf.yaml
comments calling out that approvals MUST be re-enabled when the
project establishes its own PMC. The framework is in bootstrap
under the Airflow PMC umbrella with a small committer set
(MISSION.md); requiring approvals at this stage would block
routine maintainer self-merges. Status checks alone gate
merges in the interim.
ASF Infra reconciles `.asf.yaml` within a few minutes of merge.
The very next PR against `main` will block on all eleven status
checks — including a maintainer's own PRs — but no approval is
required for self-merge during this temporary posture.
Generated-by: Claude Code (Opus 4.7)1 parent ca509e9 commit 54a2ce4
1 file changed
Lines changed: 73 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
104 | | - | |
105 | | - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
106 | 176 | | |
107 | 177 | | |
108 | 178 | | |
| |||
0 commit comments