Skip to content

ci: use ubuntu-slim for formatting checks - #210

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

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

Conversation

@robjtede

@robjtede robjtede commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Move only Lint / fmt (no matrix) to ubuntu-slim. This job checks justfile, TOML, and Rust formatting without compilation. All steps and permissions remain unchanged.

Retain CI's platform/toolchain test and build matrix, Clippy, rustdoc, and instrumented coverage on their existing runners because they compile or process Rust dependencies. Retain release automation, which can build/publish packages. Read MSRV uses a pinned upstream reusable workflow with its own runner selection.

GitHub documents slim availability for public/private repositories, x64, 1 CPU, 5 GB RAM, 14 GB storage, and a 15-minute hard job limit. It runs in an unprivileged container: Docker-in-Docker, mounts, and low-level kernel access are unsupported. Its minimal image includes shell, Node, Git and download utilities; Rust is installed explicitly by this job. 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

Validation: just check-ci passed locally. Remote slim compatibility and timing remain pending. No release or coverage workflow was manually triggered.

Timing evidence: historical successful Lint / fmt, ubuntu-latest, n=3. Execution is completed_at minus started_at; queue time is excluded and has not been measured.

Run Commit SHA Seconds Result
https://github.com/bytesize-rs/bytesize/actions/runs/41382128375 5bce216 21 success
https://github.com/bytesize-rs/bytesize/actions/runs/41382120024 56c3157 22 success
https://github.com/bytesize-rs/bytesize/actions/runs/41382114917 02812aa 18 success

Baseline median: 21 seconds. First sample used Ubuntu 26.04 and had a Rust cache hit; other cache states are not yet inspected. Historical comparisons are confounded by different commits, image versions, nightly toolchains, and cache state. Slim n=0, median and 100*(slim/base-1) unavailable. No compatibility failures observed yet; remote testing is pending.

Measurement update: first slim run passed, with all 7 required checks passing on db2a197. Lint / fmt (no matrix), ubuntu-slim, run https://github.com/bytesize-rs/bytesize/actions/runs/41636841355, job 125920067317: 50 seconds (12:34:39–12:35:29 UTC). Slim n=1 median 50s versus historical baseline n=3 median 21s: +138.1%. This is not an isolated runner-performance estimate: different commits/images/nightlies and cache conditions apply; slim downloaded crate dependencies during cargo metadata. Queue time excluded and unmeasured. No compatibility failures. A formatting-only rerun is requested for another sample; release/publishing jobs are not triggered.

Final available measurement update (supersedes pending statements above): attempt 2 formatting passed in 29 seconds (12:38:00–12:38:29 UTC), with a confirmed Rust cache hit and successful restore: https://github.com/bytesize-rs/bytesize/actions/runs/41636841355/job/125921777859 . Same head db2a197, ubuntu-slim, Lint/fmt, no matrix. Slim samples [50,29], n=2, median 39.5 seconds; historical baseline [21,22,18], n=3, median 21 seconds. Median change = 100*(39.5/21-1) = +88.1%. The first slim sample populated the cache, the second restored it. Mixed cache conditions and historical baseline commits prevent attribution to CPU performance alone. Queue time remains excluded/unmeasured. No additional benchmarks were started for the failure-status request.

Failure audit: all 10 current checks are successful. CI attempt 1 and Lint attempts 1 and 2 have no failed, timed-out, or cancelled jobs. No earlier resolved failures, capacity cancellations, or rerun API rejections occurred in this PR assessment. Clippy/docs shown on Lint attempt 2 are carried-forward original successes, not fresh execution samples. No compatibility failure was observed. No measurements remain running; third slim sample and same-code baseline were not collected.

@robjtede
robjtede marked this pull request as ready for review November 3, 2026 16:12
@robjtede
robjtede added this pull request to the merge queue Nov 3, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 3, 2026
@robjtede
robjtede added this pull request to the merge queue Nov 3, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Nov 3, 2026
@robjtede
robjtede added this pull request to the merge queue Nov 3, 2026
Merged via the queue into master with commit 11b11ef Nov 3, 2026
23 checks passed
@robjtede
robjtede deleted the ci/ubuntu-slim-assessment branch November 3, 2026 19:36
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