Skip to content

ci: Drop the unused build-artifact cache - #178

Merged
mpaulosky merged 1 commit into
mainfrom
squad/144-drop-build-cache
Sep 30, 2026
Merged

mpaulosky merged 1 commit into
mainfrom
squad/144-drop-build-cache

Conversation

@mpaulosky

Copy link
Copy Markdown
Owner

Summary

Item 3 of #144. The build job saved bin/ and obj/ to a cache that no job ever restored, because every test job restores and rebuilds its own project. This removes that step and leaves a comment on the test job explaining why the matrix rebuilds.

How the option was chosen

Each option ran 3 times by workflow_dispatch, one run at a time, on its own branch:

Option Passed Wall clock (avg, range) Runner-minutes (avg)
main as it was 3/3 3.7 min (3.2–4.0) 10.6
Rebuild per project, no cache step (this PR) 3/3 2.9 min (2.8–3.2) 10.2
Share the build output, tests with --no-build 3/3 3.8 min (3.7–3.9) 10.3
One test job running every project 3/3 4.4 min (4.0–4.8) 4.2
  • Sharing the build saved nothing. Packing the 164 MB of build output costs about 20s in the build job, and downloading and unpacking it about 9s per test job. The test jobs still need the NuGet cache and a restore, because --no-build skips compiling but the test host and Blazor static web assets still load files from .nuget/packages; its first run failed without them.
  • One test job uses 60% fewer runner-minutes, because it pays the per-job setup (checkout, .NET, NuGet cache, restore) once instead of 8 times. It's about 1.5 minutes slower, though, and minutes are free for a public repository.
  • Most of the cost in every matrix option is that per-job setup, not the build, which takes about 15s.

Testing

  • yamllint, actionlint and zizmor are clean, and scripts/gate.sh passed.
  • The option-A branch passed 3 of 3 full CI runs in the experiment.

Refs #144 (atelier-store still to follow).

🤖 Generated with Claude Code

The build job saved bin/ and obj/ to a cache that no job restored: every
test job restores and rebuilds its own project. Three measured options
for #144 item 3, three runs each by workflow_dispatch:

- Rebuild per project without the cache step: 2.9 min, 10.2 runner-min.
- Share the build output and run tests with --no-build: 3.8 min, 10.3
  runner-min. Packing and downloading 164 MB cancels the saved builds,
  and the jobs still need a package restore.
- One test job running every project: 4.4 min, 4.2 runner-min.
- For comparison, main as it was: 3.7 min, 10.6 runner-min.

All passed every run, so this keeps the matrix, drops the cache step,
and notes why on the test job.

Refs #144

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings September 30, 2026 03:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The change removes an unrestored cache without altering required build or test behavior.

Review effort: Balanced
Findings: None

What changed in this PR

Removes an unused CI build-output cache while retaining per-project test builds.

Changes:

  • Removes caching of bin/ and obj/.
  • Documents why test matrix jobs rebuild independently.
File Description
.github/​workflows/​ci.yml Simplifies CI caching and documents the tested approach.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results Summary

483 tests  ±0   483 ✅ ±0   17s ⏱️ -1s
  9 suites ±0     0 💤 ±0 
  9 files   ±0     0 ❌ ±0 

Results for commit b05effe. ± Comparison against base commit 0ecbdba.

@mpaulosky
mpaulosky merged commit 0614ea9 into main Sep 30, 2026
28 checks passed
@mpaulosky
mpaulosky deleted the squad/144-drop-build-cache branch September 30, 2026 03:20
@codecov

codecov Bot commented Sep 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.40%. Comparing base (0ecbdba) to head (b05effe).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #178   +/-   ##
=======================================
  Coverage   85.40%   85.40%           
=======================================
  Files          77       77           
  Lines        1596     1596           
  Branches      150      150           
=======================================
  Hits         1363     1363           
  Misses        189      189           
  Partials       44       44           

mpaulosky added a commit that referenced this pull request Sep 30, 2026
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
mpaulosky added a commit to mpaulosky/atelier-store that referenced this pull request Sep 30, 2026
The build job cached bin/ and obj/ after building, but no test job ever
restored that cache: each matrix job restores and builds its own project.
The step cost 5-8s per build and held about 1.1 GB of the repo's Actions
cache. A comment on the test job records why the matrix stays without a
shared build (measured in mpaulosky/IssueTracker#144).

Port of mpaulosky/IssueTracker#178.

Refs #86

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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