Skip to content

chore(ci): migrate workflows to depot runners - #435

Open
hoehner wants to merge 3 commits into
mainfrom
issue-434-depot-runners
Open

chore(ci): migrate workflows to depot runners#435
hoehner wants to merge 3 commits into
mainfrom
issue-434-depot-runners

Conversation

@hoehner

@hoehner hoehner commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

Closes #434.

Swaps every runs-on in .github/workflows/ from GitHub-hosted to Depot runners: depot-ubuntu-latest for light jobs, depot-ubuntu-latest-4 / depot-windows-2022-4 for compile-heavy jobs (matching GitHub's 4-vCPU standard runners), depot-macos-latest (arm64, same as GitHub's macos-latest) for macOS.

Before merging:

  • Connect the Depot GitHub app to the nominal-io org (Depot dashboard -> GitHub Actions runners), or every job will queue forever.
  • Update branch-protection required checks: matrix job names change, e.g. check-and-test (ubuntu-latest, 3.12) -> check-and-test (depot-ubuntu-latest-4, 3.12).

Notes:

  • PyPI/crates.io Trusted Publishing is unaffected: OIDC claims are repo+workflow scoped, not runner scoped, and Depot runners support id-token: write.
  • eip-wheel-* artifact names embed matrix.os and therefore change; the eip-* download pattern in publish-eip still matches.

@greptile-apps

greptile-apps Bot commented Aug 25, 2026

Copy link
Copy Markdown

Greptile Summary

This PR migrates all GitHub Actions jobs to Depot runner labels, selecting larger runner variants for compile-heavy jobs and preserving the existing build, test, documentation, review, and publishing steps.

  • Replaces Linux, Windows, and macOS GitHub-hosted runner labels across seven workflows.
  • Updates matrix labels used by Python/Rust checks and native EtherNet/IP wheel builds.
  • Moves release, trusted-publishing, documentation, lint, and automated-review jobs onto Depot runners.

Confidence Score: 4/5

The PR appears safe to merge, with only non-blocking stale runner documentation in the Rust workflows.

The workflow behavior is consistently migrated to Depot labels, while two Rust setup comments still describe a GitHub-hosted image assumption and should be updated to match the new runner contract.

Files Needing Attention: .github/workflows/build-check-test.yml, .github/workflows/latest-deps-test.yml

Important Files Changed

Filename Overview
.github/workflows/build-check-test.yml Migrates Python and Rust test matrices to Depot runners; the retained comments still describe rustup as a GitHub-runner guarantee.
.github/workflows/release-please-publish.yml Migrates release, package-publishing, and native-wheel jobs to appropriately sized Depot runner labels without changing their permissions or artifact flow.
.github/workflows/claude-review.yml Moves the guarded automated-review job to a Depot Linux runner while retaining its existing permissions and event restrictions.
.github/workflows/latest-deps-test.yml Moves the scheduled dependency test to a larger Depot runner but retains stale GitHub-runner wording around its Rust dependency.
.github/workflows/deploy-docs.yml Moves the documentation deployment job to a light Depot Linux runner.
.github/workflows/docs-check.yml Moves documentation drift checks to a light Depot Linux runner.
.github/workflows/lint-pr-title.yml Moves the pull-request title lint job to a light Depot Linux runner.
Prompt To Fix All With AI
### Issue 1
.github/workflows/build-check-test.yml:19
**Stale runner toolchain contract**

The migrated Rust jobs still explain their direct `rustup` calls as a GitHub-hosted-runner guarantee, even though they now run on Depot images. Update these comments and document or explicitly provision the Depot toolchain contract so future runner-image changes do not produce misleading missing-tool failures.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "chore(ci): migrate workflows to depot ru..." | Re-trigger Greptile

Comment thread .github/workflows/build-check-test.yml Outdated
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [depot-ubuntu-latest-4, depot-windows-2022-4, depot-macos-latest]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Stale runner toolchain contract

The migrated Rust jobs still explain their direct rustup calls as a GitHub-hosted-runner guarantee, even though they now run on Depot images. Update these comments and document or explicitly provision the Depot toolchain contract so future runner-image changes do not produce misleading missing-tool failures.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/build-check-test.yml
Line: 19

Comment:
**Stale runner toolchain contract**

The migrated Rust jobs still explain their direct `rustup` calls as a GitHub-hosted-runner guarantee, even though they now run on Depot images. Update these comments and document or explicitly provision the Depot toolchain contract so future runner-image changes do not produce misleading missing-tool failures.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
os: [depot-ubuntu-latest-4, depot-windows-2022-4, depot-macos-latest]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depot has depot-windows-latest (now 2025). Is 2022 pinned intentionally?

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.

Migrate GitHub Actions workflows to Depot runners

2 participants