Skip to content

Stop labelling fork CI PRs that change CI files for workflow approval - #76289

Merged
potiuk merged 1 commit into
apache:mainfrom
Andrushika:skip-workflow-approval-label-fork-ci
Nov 2, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
Andrushika:skip-workflow-approval-label-fork-ci

Conversation

@Andrushika

Copy link
Copy Markdown
Contributor

Background

GitHub holds the CI runs of a fork pull request until a maintainer approves them. auto-approve-workflow-runs approves the safe runs every 15 minutes. It labels the other pull requests need workflow approval. If a pull request runs its CI in the contributor's fork, the gate in its Tests (AMD) run skips project CI. The workflow holds this run only if the pull request changes CI definition files.

Why

Approving that held run does not start project CI. On #76136, the approved run only executed Fork CI gate (run). Project CI starts only after a maintainer adds use project ci. When the fork run is green, the fork CI reconciler asks for that step with needs project ci. #76267 has both labels for the same change. #75743 keeps need workflow approval while its fork run fails.

What

The workflow still holds these runs and sets the pending Workflow approval status. It no longer adds need workflow approval. If the label is already there, it removes it.

The new tests in test_workflow_run_approval.py fail without the change. This conflicts with #76282 in workflow_run_approval.py and the fork CI doc. I will rebase when it merges.

related: #76282


Was generative AI tooling used to co-author this PR?
  • Yes (Claude Code)

Generated-by: Claude Code (Claude Opus 5.5) following the guidelines

🤖 Generated with Claude Code

A pull request whose CI runs in the contributor's fork gets its
project CI runs held when it changes CI definition files. It got the
"need workflow approval" label for that, and "needs project ci" once
its fork run was green. Without "use project ci", approving the held
runs does not start project CI, so the first label asked maintainers
for a step that does not help. It also stayed on pull requests whose
fork run failed.
@github-actions github-actions Bot added fork ci required Gated by AIP-120: CI must pass in the contributor's fork. Managed by the fork CI reconciler. need workflow approval labels Nov 2, 2026
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Your CI change needs a maintainer. CI for this pull request runs in your fork, and the workflow runs it starts in apache/airflow are approved automatically while they only run the fork CI gate. This pull request changes files that define what CI runs:

  • .github/workflows/auto-approve-workflow-runs.yml
  • dev/breeze/doc/08_ci_tasks.rst
  • dev/breeze/doc/ci/05_workflows.md
  • dev/breeze/doc/ci/08_fork_ci_for_external_contributors.md
  • dev/breeze/src/airflow_breeze/utils/workflow_run_approval.py
  • dev/breeze/tests/test_workflow_run_approval.py

Such a change can make project CI run on the project's runners, so its workflow runs in apache/airflow wait for a maintainer to review the change and approve them. CI in your fork is not affected, and its result stays visible on this pull request. Pull requests from contributors run their CI in the contributor's own fork. GitHub Actions is free and has no minute limit on public forks, while the CI capacity of the Apache Software Foundation is shared by every ASF project and is finite.


This comment was posted automatically by the fork CI monitor from templates drafted with an AI-assisted tool, so it may contain mistakes. An Apache Airflow maintainer, a real person, will review the pull request once its fork CI is green. Why the first pass is automated.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Project CI in use. A maintainer added the use project ci label, so CI for this pull request runs in apache/airflow. It starts on the next push, or when a maintainer closes and reopens this pull request.


This comment was posted automatically by the fork CI monitor from templates drafted with an AI-assisted tool, so it may contain mistakes. An Apache Airflow maintainer, a real person, will review the pull request once its fork CI is green. Why the first pass is automated.

@potiuk
potiuk enabled auto-merge (squash) November 2, 2026 10:25
@github-actions github-actions Bot added the needs project ci Green fork CI, but CI files changed: a maintainer reviews and adds use project ci. label Nov 2, 2026
@github-actions
github-actions Bot marked this pull request as draft November 2, 2026 11:37
auto-merge was automatically disabled November 2, 2026 11:37

Pull request was converted to draft

@Dev-iL Dev-iL added the use project ci Committer override: run project CI for a PR that fork CI would otherwise gate. label Nov 2, 2026
@github-actions github-actions Bot removed the needs project ci Green fork CI, but CI files changed: a maintainer reviews and adds use project ci. label Nov 2, 2026
@github-actions
github-actions Bot marked this pull request as ready for review November 2, 2026 13:22
@github-actions github-actions Bot removed the fork ci required Gated by AIP-120: CI must pass in the contributor's fork. Managed by the fork CI reconciler. label Nov 2, 2026
@potiuk
potiuk merged commit 4c110e6 into apache:main Nov 2, 2026
134 of 135 checks passed
shahar1 pushed a commit to shahar1/airflow that referenced this pull request Nov 4, 2026
…apache#76289)

A pull request whose CI runs in the contributor's fork gets its
project CI runs held when it changes CI definition files. It got the
"need workflow approval" label for that, and "needs project ci" once
its fork run was green. Without "use project ci", approving the held
runs does not start project CI, so the first label asked maintainers
for a step that does not help. It also stayed on pull requests whose
fork run failed.

(cherry picked from commit 4c110e6)
shahar1 pushed a commit to shahar1/airflow that referenced this pull request Nov 4, 2026
…apache#76289)

A pull request whose CI runs in the contributor's fork gets its
project CI runs held when it changes CI definition files. It got the
"need workflow approval" label for that, and "needs project ci" once
its fork run was green. Without "use project ci", approving the held
runs does not start project CI, so the first label asked maintainers
for a step that does not help. It also stayed on pull requests whose
fork run failed.

(cherry picked from commit 4c110e6)
shahar1 pushed a commit to shahar1/airflow that referenced this pull request Nov 4, 2026
…apache#76289)

A pull request whose CI runs in the contributor's fork gets its
project CI runs held when it changes CI definition files. It got the
"need workflow approval" label for that, and "needs project ci" once
its fork run was green. Without "use project ci", approving the held
runs does not start project CI, so the first label asked maintainers
for a step that does not help. It also stayed on pull requests whose
fork run failed.

(cherry picked from commit 4c110e6)
shahar1 added a commit that referenced this pull request Nov 6, 2026
…#76289) (#76582)

A pull request whose CI runs in the contributor's fork gets its
project CI runs held when it changes CI definition files. It got the
"need workflow approval" label for that, and "needs project ci" once
its fork run was green. Without "use project ci", approving the held
runs does not start project CI, so the first label asked maintainers
for a step that does not help. It also stayed on pull requests whose
fork run failed.

(cherry picked from commit 4c110e6)

Co-authored-by: Andrew Chang <69671930+Andrushika@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

need workflow approval use project ci Committer override: run project CI for a PR that fork CI would otherwise gate.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants