Skip to content

feat(ci-check-app): run-label-light for jobs that never compile the workspace - #30

Open
geekbrother wants to merge 1 commit into
mainfrom
feat/run-label-light
Open

feat(ci-check-app): run-label-light for jobs that never compile the workspace#30
geekbrother wants to merge 1 commit into
mainfrom
feat/run-label-light

Conversation

@geekbrother

Copy link
Copy Markdown
Member

What

Adds an optional run-label-light input (default ubuntu-latest) to ci-check-app.yml, used by the Formatting and Licenses jobs, threaded through the ci.yml umbrella.

Why

These two jobs never compile the workspace, so they gain nothing from a larger runner:

  • cargo fmt -- --check only parses — the job's own comment notes it restores no cache for exactly this reason. Measured in pay-core: the Check Formatting step is ~10 seconds of rustfmt; the remaining job time is checkout + toolchain download, which is network-bound on any runner class.
  • cargo-deny check licenses runs a prebuilt binary against cargo metadata — no rustc involved.

pay-core passes run-label: ubuntu-16core (8× the standard rate) so its clippy/test jobs compile fast — and Formatting + Licenses inherit that label for no benefit: ~$220/mo of larger-runner minutes across event_pr + event_release (WalletConnect/pay-core#1387 has the full cost analysis).

Compatibility

Backward compatible: the input is optional and defaults to ubuntu-latest, which is what every consumer except pay-core already effectively uses (no other repo overrides run-label). Consumers that do want these jobs on a larger runner can pass run-label-light explicitly.

🤖 Generated with Claude Code

…orkspace

Formatting and Licenses inherited check-app's single run-label, so a consumer
that sets a larger runner for the compile jobs (clippy, tests) pays the same
8x rate for jobs that cannot use it: `cargo fmt -- --check` only parses (the
job's own comment notes it restores no cache for exactly this reason), and
cargo-deny runs a prebuilt binary against cargo metadata. Measured in
pay-core: the Check Formatting step is ~10s of rustfmt; the rest of the job
is checkout + toolchain download, which is network-bound on any runner.

Adds an optional `run-label-light` input (default ubuntu-latest) used by the
Formatting and Licenses jobs, threaded through the ci.yml umbrella. Backward
compatible: no consumer currently overrides these jobs' runner away from
ubuntu-latest except pay-core, for which this is the fix (~$220/mo of larger-
runner minutes across event_pr + event_release).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@geekbrother geekbrother self-assigned this Aug 9, 2026
@geekbrother
geekbrother requested a review from chris13524 August 9, 2026 09:40
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.

2 participants