Skip to content

[CI] Enable XPU-only PR CI skip for non-XPU hardware jobs#78524

Open
onecatcn wants to merge 1 commit intoPaddlePaddle:developfrom
onecatcn:ci/enable-xpu-only-skip
Open

[CI] Enable XPU-only PR CI skip for non-XPU hardware jobs#78524
onecatcn wants to merge 1 commit intoPaddlePaddle:developfrom
onecatcn:ci/enable-xpu-only-skip

Conversation

@onecatcn
Copy link
Copy Markdown
Contributor

@onecatcn onecatcn commented Mar 30, 2026

PR Category

Execute Infrastructure

PR Types

Improvements

Description

Enable the XPU-only CI skip logic introduced in #78431 (observe mode). When a PR only modifies XPU-specific paths, non-XPU hardware CI jobs are now skipped to save CI resources.

This is the Week 3 activation PR — the second phase of the XPU-only PR CI optimization plan.

What changed:

  • CI.yml: Added if: needs.clone.outputs.xpu-only != 'true' to 7 jobs: sot, mac, dcu, cpu, npu, ixuca, distribute
  • CI-Build.yml: Added the same condition to 8 jobs: inference, ce-framework, ce-cinn-framework, api-benchmark, model-benchmark, doc-preview, slice, deepmd-test
  • Coverage.yml: Added && needs.clone.outputs.xpu-only != 'true' to the build job's if condition (cascades to test via needs)
  • H-Coverage.yml: Same pattern — added to the build job's if condition (cascades to test, fleet-build, fleet_single_card_test, fleet-multi-card_test)

What is NOT changed (always run):

  • XPU CI (Linux-XPU): Always runs — no condition added
  • Linux-build: Always runs (compilation is the foundation for all CI)
  • Static-Check: Always runs (code style checks)
  • _Clone-linux.yml: No change needed — already outputs xpu-only from [CI] Add XPU-only PR detection (observe mode) #78431

Week 2 Observation Results:

Metric Target Actual Status
Observed PRs ≥ 50 57
False positive rate 0% 0%
  • 57 PRs observed from 2026-03-21 to 2026-03-30
  • 1 XPU-only PR correctly identified: optimize Resize make_ddim in kernels/xpu [phi_ops] #78394 (10 files, all in paddle/phi/kernels/xpu/)
  • 4 mixed PRs correctly classified as non-XPU-only (contained shared headers)
  • 52 non-XPU PRs correctly classified

Safety Mechanisms (all from #78431):

  1. != 'true' comparison: Missing/empty/error values default to running ALL CI
  2. test=all in commit message: Forces full CI run
  3. DISABLE_HW_CI_SKIP repo variable: Global emergency disable (no code merge needed)
  4. Conservative fallback: Any error in check_xpu_only.sh → exit 1 → all CI runs

Rollback Plan:

Level Method Speed
L1 Set DISABLE_HW_CI_SKIP=true in repo Variables Seconds (no merge)
L2 Add test=all to commit message Per-PR
L3 Revert this PR Minutes

devPR: #78431

是否引起精度变化

When a PR only modifies XPU-specific paths, skip non-XPU hardware CI
jobs (GPU, DCU, NPU, IXUCA, Mac-CPU, Coverage, etc.) to save CI resources.

This activates the observe-mode detection added in PaddlePaddle#78431 by adding
`if: needs.clone.outputs.xpu-only != 'true'` conditions to the
relevant CI jobs across CI.yml, CI-Build.yml, Coverage.yml, and
H-Coverage.yml.

Safety: uses != 'true' comparison so missing/empty values default to
running all CI. Override with test=all in commit message or
DISABLE_HW_CI_SKIP repo variable.

Week 2 observation: 57 PRs, 0% false positive rate.
@paddle-bot
Copy link
Copy Markdown

paddle-bot Bot commented Mar 30, 2026

你的PR提交成功,感谢你对开源项目的贡献!
请关注后续CI自动化测试结果,详情请参考Paddle-CI手册
Your PR has been submitted. Thanks for your contribution!
Please wait for the result of CI firstly. See Paddle CI Manual for details.

@onecatcn
Copy link
Copy Markdown
Contributor Author

/rerun-failed-ci

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants