Skip to content

Step 20e/23 (Phase 6): CI — reduce Actions cache storage pressure without shrinking coverage #230

Description

@Jordan231111

Summary

Reduce GitHub Actions cache storage pressure and simplify the CI cache strategy without reducing any of the current cross-platform test coverage.

Related: #167, #173
Why this is post-MVP: the current CI matrix now covers the shipped x64/ARM targets across Linux, macOS, and Windows. This follow-up is about cache/storage efficiency and long-term CI maintainability, not MVP feature validation.

Key Changes

  1. Audit the current overlapping cache layers (actions/cache, Swatinem/rust-cache, and sccache) and remove redundant persistence.
  2. Decide whether sccache should be removed from CI entirely or limited to a smaller subset of lanes where it provides clear value.
  3. Restrict cache saves to durable refs (for example main and release tags) where appropriate instead of creating unnecessary branch/PR cache churn.
  4. Keep the native CI test matrix coverage unchanged for supported Linux/macOS/Windows x64 and ARM targets.
  5. Document the chosen cache strategy in workflow comments so future changes do not accidentally recreate storage pressure.

Acceptance Criteria

  • CI test coverage remains intact for the currently shipped Linux/macOS/Windows x64 and ARM release targets
  • Redundant Cargo registry/git cache persistence is removed or explicitly justified
  • Cache writes are limited to refs/jobs that provide durable value
  • Repository cache usage no longer trends near the default GitHub Actions cache storage ceiling during normal development
  • Workflow comments clearly describe the intended cache strategy and tradeoffs

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ciCI / tooling / lintersdifficulty:intermediateModerate complexityphase:6-polish-releasePolish, docs, testing, release (Steps 17–23)priority:p2Nice-to-have / can defertrack:post-mvpDeferred until after the MVP demo; still aligned with the 2026 plan end goals

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions