potiuk opened a new pull request, #74819: URL: https://github.com/apache/airflow/pull/74819
Stacked on #73378 (design and ADR). Part 1 of 5 of the AIP-120 implementation; this PR's base is the design branch, so the diff shows only this layer. Adds the eligibility function (`fork_ci_gate.py`, standard library only) and `.github/fork-ci-gate.toml` (ships with `enabled = false` and empty `[allowlist]` / `[pilot]`), and a `Fork CI gate` job at the head of `ci-amd.yml` that `build-info` depends on. The push trigger becomes `'**'` so contributors get CI in their forks; in apache/airflow the gate keeps the old branch list in effect, scheduled runs in forks are skipped, and the concurrency group now includes the event name so gate-only pushes to `main` cannot cancel the canary. If the live label read fails the gate uses the event's labels instead of falling back to project CI. `finalize-tests` / `notify-slack` no longer run when `build-info` is skipped. The new `check-fork-ci-gate-config` hook keeps new pilot join instants and a later `enabled_since` in the future. Nothing changes behaviour while `enabled = false`, the `[pilot]` table is empty and no PR carries `use fork ci`. --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5) Generated-by: Claude Code (Opus 5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
