This is an automated email from the ASF dual-hosted git repository.
yuqi1129 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new aa1efc1129 [#14189] improvement(ci): Stop requiring Fork CI and ASF
Allowlist Check (#14190)
aa1efc1129 is described below
commit aa1efc1129c3cff8c2b7e396d4e1b0ed86264345
Author: Qi Yu <[email protected]>
AuthorDate: Fri Oct 23 12:02:43 2026 +0800
[#14189] improvement(ci): Stop requiring Fork CI and ASF Allowlist Check
(#14190)
### What changes were proposed in this pull request?
- `.asf.yaml`: drop `Fork CI` and `ASF Allowlist Check` from
`required_status_checks.contexts`; keep `strict: true` and the review
requirement (the same protection as before #13049).
- CONTRIBUTING: describe both checks as not enforced, and ask committers
to merge only after they pass, or to comment on the PR with what they
verified when they must merge earlier.
### Why are the changes needed?
A PR that changes CI definitions needs a trusted Fork CI run on the
shared upstream runners to turn **Fork CI** green. Those runners queued
for hours, so urgent CI fixes could not be merged.
Fix: #14189
### Does this PR introduce _any_ user-facing change?
Committers: the two checks no longer block the merge button; they remain
visible on every PR.
### How was this patch tested?
`.asf.yaml` parsed with a YAML parser: `protected_branches.main` =
`{required_status_checks: {strict: true}, required_pull_request_reviews:
{dismiss_stale_reviews: true, required_approving_review_count: 1}}`. ASF
Infra applies the settings when the change lands on `main`.
---
.asf.yaml | 7 +++----
CONTRIBUTING.md | 7 ++++---
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
index 032b533fa7..256b765f91 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -45,12 +45,11 @@ github:
rebase: true
protected_branches:
main:
+ # Fork CI and ASF Allowlist Check are not required contexts: a PR that
changes CI definitions
+ # needs a trusted run on the shared upstream runners, which can queue
for hours. Committers
+ # verify both checks before merging, as described in CONTRIBUTING.md.
required_status_checks:
strict: true
- # Mirrored from the contributor fork by the Fork CI Status workflows.
- contexts:
- - Fork CI
- - ASF Allowlist Check
required_pull_request_reviews:
dismiss_stale_reviews: true
required_approving_review_count: 1
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3d33709492..c0a9cb000c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -97,7 +97,7 @@ Pull request tests run with GitHub Actions in your fork, not
in `apache/gravitin
1. Enable GitHub Actions in your fork (the **Actions** tab of your fork).
2. Push your branch to your fork. **Fork CI** resolves one upstream base
commit and every suite tests the same merge of that base and your pushed commit.
3. Open the pull request. Its **Fork CI** check verifies the suite jobs and
the exact tested head, base branch and base SHA. A pre-PR run is accepted only
if its inferred base matches the PR. After retargeting a PR, push again or ask
a committer for a trusted run. The separate **ASF Allowlist Check** scans the
PR's workflow YAML using reviewed upstream code.
-4. Keep your branch up to date before merging. Required checks use strict
branch protection. If the base changes, update your branch and run CI again.
The **Fork CI** check can stay green after the base branch moves on; strict
branch protection, not the check, blocks the merge until the branch is updated.
+4. Keep your branch up to date before merging. Strict branch protection
requires an up-to-date branch. If the base changes, update your branch and run
CI again. The **Fork CI** check can stay green after the base branch moves on;
strict branch protection, not the check, blocks the merge until the branch is
updated.
If the check asks you to enable Fork CI, enable Actions in your fork, merge or
rebase your branch onto the latest base branch, and push again. Fork CI cancels
the rest of the run as soon as one job fails, so you can re-run failed jobs in
your fork right away; this also re-runs the jobs it cancelled. Reviewers cannot
re-run them for you. Closing and reopening a pull request only refreshes the
check from the latest fork run; to run CI again, re-run the workflow in your
fork or push again. [...]
@@ -108,9 +108,9 @@ Known limitations of Fork CI:
* Coverage comments remain available for release branches. For PRs to `main`,
inspect the fork run's `build / coverage` log and `coverage-report` artifact.
* Release branches (`branch-*`) keep their own upstream CI until this change
is backported.
* CI workflow, action, helper-script or `.asf.yaml` changes cannot approve
themselves. After reviewing those changes, a committer runs **Fork CI** in
`apache/gravitino`, from the current default branch, and supplies the PR
number. This explicit exception uses upstream runner resources, reviewed
default-branch workflow definitions, a read-only token and no repository
secrets; it tests the exact contributor head against the current base. Any
later push or base change requires another match [...]
-* The independent allowlist scanner downloads bounded YAML data outside its
trusted checkout and never executes PR code. It reports the required **ASF
Allowlist Check** on every PR, including PRs that do not change `.github/`. A
committer can re-run **Trusted ASF Allowlist** with the PR number.
+* The independent allowlist scanner downloads bounded YAML data outside its
trusted checkout and never executes PR code. It reports the **ASF Allowlist
Check** on every PR, including PRs that do not change `.github/`. A committer
can re-run **Trusted ASF Allowlist** with the PR number.
-The migration requires a coordinated branch-protection cutover: replace the
old individual suite contexts with **Fork CI** and **ASF Allowlist Check**, and
retain strict/up-to-date protection. The initial rollout must be reviewed and
validated under the existing upstream checks before that protection changes.
Announce the cutover so authors know to update existing branches.
Release-branch protection is unchanged.
+**Fork CI** and **ASF Allowlist Check** are not required status checks, so a
trusted run stuck in the shared runner queue does not block an urgent merge.
Branch protection still requires an up-to-date branch and an approving review.
Release-branch protection is unchanged.
The trusted publishers use `workflow_run` and `schedule`, rather than
`pull_request_target`. `actions/*`, `github/*` and `apache/*` actions are
exempt from ASF's external-action SHA requirement; external third-party actions
still require an approved SHA.
@@ -170,6 +170,7 @@ Reviewing and triaging helps maintain the project. You can:
* Suggest improvements on PRs
* Review code and give feedback
* Review changes under `.github/` and `.asf.yaml` carefully, then dispatch a
trusted upstream **Fork CI** run for those changes. Check the displayed tested
base SHA and all caller suite results before merging.
+* Merge only after **Fork CI** and **ASF Allowlist Check** pass. They are not
enforced by branch protection; if you must merge without them, for example
while a trusted run is queued, comment on the PR with what you verified instead.
* Please add Copilot before you review. That is recommended, not required. Do
not wait on Copilot if you are ready to review.
## 🔃 Creating Pull Requests