Skip to content

CI performance: add deterministic backend dependency caching #184

Description

@Konan69

Context

PR #180 removes shard and artifact fan-in complexity. Dependency installation remains outside the measured semantic-lane execution time and should only be optimized after hosted timing identifies it as material.

Outcome

Add deterministic, commit-safe backend dependency caching without caching test results, databases, coverage data, or mutable runtime state.

Scope

  • Cache only immutable package-manager/download artifacts.
  • Key caches by operating system, architecture, Python version, package-manager version, and the complete dependency lock/config hash.
  • Restore safely on cache miss or corruption.
  • Keep editable project code, PostgreSQL data, MinIO data, pytest state, and coverage files uncached.
  • Measure hosted cold-cache and warm-cache behavior.

Acceptance criteria

  • Cache keys include every dependency-resolution input.
  • A cache miss executes the same install and verification path as today.
  • Cached content cannot suppress dependency installation errors.
  • No credentials or environment-specific configuration enter cache keys or archives.
  • Tests, databases, MinIO state, coverage, and generated evidence are explicitly excluded.
  • Cold and warm hosted timings are recorded across multiple successful runs.
  • The cache is removed if it does not produce a material, stable improvement.

Non-goals

  • Test-result caching.
  • Path-based test omission.
  • Cross-commit database or coverage reuse.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/opsOperations, pilot setup, onboarding, reportingenhancementNew feature or requestpriority/P2Later or explicitly deferredstatus/needs-scopeNeeds maintainer scoping before implementation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions