kumarUjjawal opened a new pull request, #25591:
URL: https://github.com/apache/datafusion/pull/25591

   ## Which issue does this PR close?
   
   - Part of #25148. This PR does not close the issue.
   
   ## Rationale for this change
   
   A pull request from a fork already runs `rust.yml` on the fork. The main 
repository ran the same 26 jobs again on GitHub-hosted runners, because the 
`vars` context is empty for a fork and every job falls back to `ubuntu-latest`. 
98% of `rust.yml` pull request runs come from forks, about 60,000 GitHub-hosted 
minutes a week.
   
   ## What changes are included in this PR?
   
   - `rust.yml`: 24 jobs skip on a pull request from a fork to `main`; 
`check-fmt` and `check-workflow-tool-installs` still run. The merge queue runs 
every job on the merged result. Pull requests from this repository, and fork 
pull requests to release branches, run every job as before.
   - `fork_ci_status.yml`: mirrors the fork's run as one `Rust (fork)` check on 
the pull request. It runs on `pull_request_target` with `actions: read` and 
`checks: write`, never checks out pull request code, and updates the check on a 
15-minute schedule. The check is informational, not required.
   - `ci/scripts/check_rust_workflow_skips.py` validates the skip conditions; 
`check_asf_yaml_status_checks.py` returns to `.asf.yaml` only. Both run in the 
required `asf-yaml-check` job and in `./dev/rust_lint.sh`.
   - Contributor guide and PR template: how to enable workflows on a fork.
   
   ## What is the testing strategy for this PR?
   
   `check_rust_workflow_skips.py` passes on this branch and rejects a job 
without its condition, a job outside the sets with a condition, a `needs` edge 
into a set, and an artifact consumer outside the sets. The bridge script was 
run locally against stubbed API responses: a found run, a docs-only push, a 
fork without workflows, a late run, a rerun on an old pull request, and the 
sweep over 501 open pull requests. `pull_request_target` uses the base branch's 
workflow file, so the first fork pull request after the merge is the production 
check.
   
   ## Are there any user-facing changes?
   
   Contributors enable workflows on their fork once; the contributor guide 
explains how.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to