Hello everyone, A quick update on "your PR, your CI": the design is updated and the implementation is ready for review.
* Design and ADR: https://github.com/apache/airflow/pull/73378 * Implementation, as 5 stacked PRs (each shows only its own layer): 1. Gate in ci-amd.yml: https://github.com/apache/airflow/pull/74819 2. Fork-mode selective checks: https://github.com/apache/airflow/pull/74820 3. Reconciler and scheduled monitor: https://github.com/apache/airflow/pull/74822 4. "breeze ci audit" to check your fork setup: https://github.com/apache/airflow/pull/74823 5. Contributor and maintainer docs: https://github.com/apache/airflow/pull/74825 What changed since my last mail: * Opt-in pilot, as discussed with Pratiksha. Contributors join by adding their GitHub login and a join date to the [pilot] table in .github/fork-ci-gate.toml. Their new PRs then use fork CI; everyone else keeps project CI. Committers can try it on a single PR with the "use fork ci" label. * Andrew's and fat-catTW's point about fork CI not matching project CI. A green fork run is only trusted when the PR does not change what CI runs (.github/, dev/breeze/, scripts/ci/ and similar). Such PRs stay in draft until a maintainer reviews them and runs project CI with the "use project ci" label. Maintainers can do the same for any PR they want verified in project CI before merging. * Hardening after a security review. The gate never falls back to running project CI when it cannot decide, and a PR that edits workflows to get around the gate is detected from the runs GitHub recorded (also when the edit is reverted later) and closed. Everything ships switched off. Nothing changes for anyone until someone joins the pilot, and switching it on for everyone is a separate one-line change after the [LAZY CONSENSUS]. I also updated AIP-120 with the pilot, the security considerations and the 7-day inactivity period. https://cwiki.apache.org/confluence/spaces/AIRFLOW/pages/451974711/AIP-120+Run+CI+for+external+contributions+in+contributor+forks Reviews welcome! J. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
