hasCustomRunsOn in pkg/ci/compat/analyze.go does not agree with MapLabel / GitHubToDepotRunner in pkg/ci/migrate/runslabel.go (main d58b6be).
Transform writes hyphenated labels (ubuntu-latest → depot-ubuntu-latest). Analyze only skips ubuntu-latest and underscore depot_ubuntu_latest / prefix depot_. So a job that is already Depot-native, or a mapped ubuntu-24.04, is reported as runs-on (custom labels) Partial.
Repro on d58b6be (helper is unexported; same predicates):
ubuntu-latest → not custom
depot-ubuntu-latest → custom (should be native)
ubuntu-24.04 → custom (standard GH map key)
depot_ubuntu_latest → not custom (label the mapper never emits)
JobFeatureRules["runs-on (custom labels)"] Note/Suggestion also say depot_ubuntu_latest. Docs and runslabel.go use depot-ubuntu-latest.
No test covers hasCustomRunsOn. TestAnalyzeJobsMatrixSelfHostedUnsupported only asserts the matrix+self-hosted issue; the extra issue is ubuntu-latest,self-hosted hitting custom via self-hosted.
Tiny leaf: treat migrate.ClassifyLabel / GitHubToDepotRunner as the allowlist (hyphen depot- prefix + the four ubuntu-* keys), keep expressions skipped, keep unknown labels Partial, add table tests. Not a product change.
I am not opening a PR.
hasCustomRunsOninpkg/ci/compat/analyze.godoes not agree withMapLabel/GitHubToDepotRunnerinpkg/ci/migrate/runslabel.go(maind58b6be).Transform writes hyphenated labels (
ubuntu-latest→depot-ubuntu-latest). Analyze only skipsubuntu-latestand underscoredepot_ubuntu_latest/ prefixdepot_. So a job that is already Depot-native, or a mappedubuntu-24.04, is reported asruns-on (custom labels)Partial.Repro on
d58b6be(helper is unexported; same predicates):ubuntu-latest→ not customdepot-ubuntu-latest→ custom (should be native)ubuntu-24.04→ custom (standard GH map key)depot_ubuntu_latest→ not custom (label the mapper never emits)JobFeatureRules["runs-on (custom labels)"]Note/Suggestion also saydepot_ubuntu_latest. Docs andrunslabel.gousedepot-ubuntu-latest.No test covers
hasCustomRunsOn.TestAnalyzeJobsMatrixSelfHostedUnsupportedonly asserts the matrix+self-hosted issue; the extra issue isubuntu-latest,self-hostedhitting custom viaself-hosted.Tiny leaf: treat
migrate.ClassifyLabel/GitHubToDepotRunneras the allowlist (hyphendepot-prefix + the four ubuntu-* keys), keep expressions skipped, keep unknown labels Partial, add table tests. Not a product change.I am not opening a PR.