Skip to content

ci: move lint/check jobs to free GitHub-hosted runners - #48

Closed
dhogaivannan wants to merge 1 commit into
monadfrom
ci/light-jobs-free-runners
Closed

ci: move lint/check jobs to free GitHub-hosted runners#48
dhogaivannan wants to merge 1 commit into
monadfrom
ci/light-jobs-free-runners

Conversation

@dhogaivannan

Copy link
Copy Markdown
Collaborator

Summary

Moves the 8 lint/check jobs in ci.yml (doctest, no-default-features, typos, shellcheck, clippy, rustfmt, forge-fmt, crate-checks) from depot-ubuntu-latest to plain ubuntu-latest. Part of Linear DO-322, alongside #47.

Rationale:

  • depot-ubuntu-latest is the 2-vCPU Depot base runner and is billed per minute; GitHub-hosted ubuntu-latest is free for public repos and provides 4 vCPU — strictly better on both axes for these jobs.
  • The heavy test.yml matrix (nextest partitions, 16-core) intentionally stays on Depot.
  • Side benefit: these checks run immediately even while the repo is disconnected from the Depot app (currently the depot-labeled jobs queue out after ~10 minutes with no runner), so PRs get partial CI signal today.

Notes for review

  • The compile-heavy jobs here (clippy, doctest, no-default-features, crate-checks) have timeout-minutes: 30 and use sccache/rust-cache, which work the same on GitHub-hosted runners (GHA cache backend). This PR's own CI run is the live test — if any of them brushes the 30-minute limit on 4 vCPU, the fallback is bumping that job's timeout or pinning just that job back to a Depot label.
  • runs-on is the only thing changed: 8 lines, verified with actionlint (clean) and YAML parse.

Verification

grep -c 'depot-ubuntu-latest$' .github/workflows/ci.yml   # 0
actionlint .github/workflows/ci.yml                        # no findings

These 8 jobs ran on depot-ubuntu-latest (2 vCPU, billed). GitHub-hosted
ubuntu-latest is free for public repos and gives 4 vCPU, so this is both
cheaper and faster. The heavy test matrix in test.yml stays on Depot
16-core runners.

An immediate side benefit: these jobs run again right away while the
repo is disconnected from the Depot app, instead of queueing out after
10 minutes.

Part of DO-322 (scope Depot usage to Monad releases).
@dhogaivannan

Copy link
Copy Markdown
Collaborator Author

Folded into #47.

@dhogaivannan
dhogaivannan deleted the ci/light-jobs-free-runners branch July 11, 2026 23:37
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.

1 participant