#51884: build: skip CI for PGO state-file-only changes
Merged
Created: Jun 4, 2026, 2:55:20 PM
Merged: Jun 5, 2026, 12:42:43 PM
3 comments
Target: main
PRs and pushes that only touch build/pgo_profiles/*.pgo.txt now skip CI entirely and go green immediately. The state files are machine-written pointers to profiles on dev-cdn (soon written by the automated pgo/update/* PRs from #51881); no CI job exercises them and they cannot break a build, so a full build/test matrix on every profile roll is wasted compute.
srcfilter excludes the state files, so all checkout/build/test/gn-check jobs skip; the exclusion lives inside the single negated brace pattern because paths-filter ORs patterns (a second negated pattern would re-include everything the first excluded - verified against the pinned action's picomatch matcher)- new
pgo-onlysetup output gateslint; the requiredlint / Lintcheck reports skipped, which branch protection treats as satisfied checkout-linuxpreviously ran unconditionally to serve the docs-only compile; it is now gated onsrc || docs-onlyso pgo-only changes skip its 32-core sync too (every other consumer is already src-gated)gha-donealready runsalways()and goes green when all needs are skipped, so the requiredGitHub Actions Completedcheck passes- anything else in
build/pgo_profiles/(README, .gitignore) still counts as src and runs full CI, as does any PR mixing state files with other changes
Notes: none
Backports
42-x-y
PendingWaiting for a manual backport
Semver Impact
Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron