Skip to content

fix(ci): recognize supported runner labels during migration - #605

Open
flcrom wants to merge 3 commits into
depot:mainfrom
flcrom:fix-ci-runner-labels
Open

flcrom wants to merge 3 commits into
depot:mainfrom
flcrom:fix-ci-runner-labels

Conversation

@flcrom

@flcrom flcrom commented Oct 1, 2026 •

Copy link
Copy Markdown

The migration analyzer was flagging native Depot runners and mapped Ubuntu runners as custom labels. Reuse the mapper's ClassifyLabel so analysis agrees with the generated workflow, and fix the runner spelling in the warning.

Adds regression coverage for native and mapped labels, expressions, case/whitespace, and unknown or mixed labels. Unknown and self-hosted labels still warn.

Tested: full Go suite and build with Go 1.25.14, golangci-lint v2.4.0, focused race tests, and npm formatting/type checks.

Fixes #578


Note

Low Risk
Narrows false-positive warnings in CI migration analysis only; behavior is covered by new tests and does not change runtime workflow execution.

Overview
The migration compatibility analyzer no longer flags supported runs-on values as custom labels. hasCustomRunsOn now delegates to migrate.ClassifyLabel so Depot-native (depot-*), standard GitHub Ubuntu labels, and ${{ … }} expressions match the same rules as workflow migration; unknown, Windows/macOS, self-hosted, mixed, and legacy underscore Depot names still raise a partial runs-on (custom labels) issue.

User-facing copy in JobFeatureRules now recommends depot-ubuntu-latest (hyphenated) instead of depot_ubuntu_latest.

TestAnalyzeJobsRunnerLabels adds table-driven regression coverage for the above label cases.

Reviewed by Cursor Bugbot for commit 67a6628. Bugbot is set up for automated code reviews on this repo. Configure here.

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.

ci migrate: hasCustomRunsOn treats depot-ubuntu-latest as a custom label

1 participant