Skip to content

ci: use ubuntu-slim for rustfmt - #540

Merged
robjtede merged 1 commit into
mainfrom
ci/ubuntu-slim-assessment
Nov 3, 2026
Merged

robjtede merged 1 commit into
mainfrom
ci/ubuntu-slim-assessment

Conversation

@robjtede

@robjtede robjtede commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Move only Lint / rustfmt (no matrix) from blacksmith-2vcpu-ubuntu-2404 to ubuntu-slim. Formatting does not compile the workspace. Keep the nightly toolchain, checks, and permissions unchanged.

Retain tests (MSRV/stable), Clippy feature combinations, docs, coverage, and release on existing runners because they compile, use Nix, or publish. Retain the disabled public API diff. Retain zizmor on ubuntu-latest: its pinned composite action runs Docker.

GitHub documents slim as a generally available public/private repository runner with 1 CPU, 5 GB RAM, 14 GB disk, and a 15-minute limit. It uses an unprivileged container; nested Docker and privileged kernel operations are unsupported. Its minimal software image does not list Rust; the existing setup action installs the required toolchain.

Sources: https://docs.github.com/en/actions/reference/runners/github-hosted-runners and https://github.com/actions/runner-images/blob/main/images/ubuntu-slim/ubuntu-slim-Readme.md

Measurement notes (execution = job completed_at minus started_at; queue time excluded):

Workflow/job Runner SHA Run Result Seconds
Lint/rustfmt blacksmith-2vcpu-ubuntu-2404 ef584a9 https://github.com/x52dev/confik/actions/runs/41551240258 success 16
Lint/rustfmt blacksmith-2vcpu-ubuntu-2404 14d3fe6 https://github.com/x52dev/confik/actions/runs/41321236932 success 18
Lint/rustfmt blacksmith-2vcpu-ubuntu-2404 82a6b89 https://github.com/x52dev/confik/actions/runs/41321233336 success 13

Historical baseline n=3, median 16 seconds. This is a Blacksmith baseline, not a GitHub standard-runner baseline. These are different commits; nightly version, provisioning and cache differences confound comparison. Baseline cache is enabled; hit states were not confirmed.

All slim samples use head 721dca42f90498689e8434106800b0b29050abc1, workflow Lint/job rustfmt (no matrix), runner ubuntu-slim, run https://github.com/x52dev/confik/actions/runs/41636789247:

Attempt Job Result Seconds Cache
1 https://github.com/x52dev/confik/actions/runs/41636789247/job/125919892532 success 51 Rust cache miss
2 https://github.com/x52dev/confik/actions/runs/41636789247/job/125921827969 success 31 Rust cache hit
3 https://github.com/x52dev/confik/actions/runs/41636789247/job/126037485846 success 30 Rust cache hit

Slim n=3, median 31 seconds; 100*(31/16-1) = +93.75% versus historical Blacksmith. All three installed nightly Rust afresh; toolchain setup dominates. Execution durations exclude queue time; queue durations were not measured. No same-code standard-runner comparison was performed. Do not interpret this as isolated CPU performance or include it in a controlled GitHub-standard-versus-slim aggregate.

Validation: passed nix develop -c prettier --check .github/workflows/lint.yml. CI workflow https://github.com/x52dev/confik/actions/runs/41636791900 and Lint workflow both completed successfully on the current head. All executed jobs passed. The disabled public-api-diff and CodeRabbit checks were skipped. Other Lint results in attempts 2/3 were carried forward, not new executed samples. No executed failures, timeouts, capacity cancellations or rerun API rejections were observed. No deployment or publishing workflow was triggered. No measurements remain pending. Marked ready for review after verifying overall workflow conclusions and individual checks; no merge performed.

Summary by CodeRabbit

  • Chores
    • Updated the environment used for automated formatting checks. This change affects the project’s development workflow and does not change the app’s features or behavior.

@robjtede
robjtede marked this pull request as ready for review November 3, 2026 16:09
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Walkthrough

The rustfmt job in the lint workflow now runs on ubuntu-slim instead of blacksmith-2vcpu-ubuntu-2404.

Changes: Lint runner

Layer / File(s) Summary
Update rustfmt runner
.github/workflows/lint.yml
The rustfmt job runner changes to ubuntu-slim.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Change: Other

Merge Risk: Minimal · up to 721dc

The rustfmt runner change has no identified merge-blocking issue. Reported runs succeeded, with longer execution times than the previous runner.

Pre-merge checks: Passed 4
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "ci: use ubuntu-slim for rustfmt" matches the only code change: the non-matrix Lint / rustfmt job in .github/workflows/lint.yml moves from blacksmith-2vcpu-ubuntu-2404 to ubuntu-slim. It is …
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "ci: use ubuntu-slim for rustfmt" matches the only code change: the non-matrix Lint / rustfmt job in .github/workflows/lint.yml moves from blacksmith-2vcpu-ubuntu-2404 to ubuntu-slim. It is specific, short, and states the main change. The PR objectives confirm the scope, and the title does not claim changes beyond that job.

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between b37d91f and 721dca4.

Files selected for processing: 1
  • .github/workflows/lint.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@robjtede
robjtede added this pull request to the merge queue Nov 3, 2026
Merged via the queue into main with commit 9dff8cc Nov 3, 2026
22 checks passed
@robjtede
robjtede deleted the ci/ubuntu-slim-assessment branch November 3, 2026 16:30
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