shahar1 opened a new pull request, #75718: URL: https://github.com/apache/airflow/pull/75718
<!-- HUMAN SUMMARY - AGENTS DO NOT MODIFY --> As-titled, CI-defining files should be gated. <!-- END OF HUMAN SUMMARY --> <details><summary>AI Summary</summary> The workflow run auto-approval added in #75455 has two rules. A PR whose CI runs in the contributor's fork is held for a maintainer when it changes a file the fork CI reconciler counts as CI-defining. A PR whose CI runs in the project was checked against a shorter list: `.github/`, `dev/breeze/` and `scripts/ci/`. Running the decision with real selective checks on main (54f645dd30) showed the effect: - A fork PR that changed only a `.pre-commit-config.yaml` had its runs approved without a maintainer's look. This holds for the root file (estimated 274 job-minutes) and for nested ones such as `airflow-core/.pre-commit-config.yaml` (6 job-minutes). These files decide which static checks CI runs. - Changes to `Dockerfile*`, `scripts/docker/` and `scripts/in_container/` were refused, but only because selective checks currently run the full set of tests for them. Narrowing that selective-checks rule would have let them through. This PR makes the project rule use the existing `find_fork_ci_definition_files`. Both rules now read the reconciler's list, so a path added there applies to both. The docs that list the paths are updated. Not covered here, and the same for both rules: other files that CI runs, such as `scripts/tools/`, `devel-common/` or nested Dockerfiles like `airflow-e2e-tests/docker/*`. Widening `CI_DEFINING_PREFIXES` in `fork_ci_reconcile.py` would cover both rules. Checks run locally: - New parametrized cases in `test_decide_approval` for `.pre-commit-config.yaml`, `airflow-core/.pre-commit-config.yaml`, `Dockerfile.ci`, `scripts/docker/entrypoint_ci.sh` and `scripts/in_container/run_ci_tests.sh`. All five fail without the change. - `test_workflow_run_approval.py` and `test_fork_ci_reconcile.py`: 321 passed. - `prek` pre-commit and manual stages passed. Skipped: `lychee-docker`, because Docker was unavailable in the session. - `breeze verify` commands (full `dev/breeze` suite and its integration tests): 23 failures in `test_packages.py`, `test_selective_checks.py`, `test_shim_version_check.py`, `test_workflow_commands.py` and the reproducible-build integration test. The 22 non-integration ones fail the same way with this change reverted. `test_publish_docs_to_s3.py` could not be collected locally (needs `botocore[crt]`). </details> related: #75455 --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 5.5) Generated-by: Claude Code (Opus 5.5) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- 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]
