TEST-INFRA: [ci-pipeline-design] Add dependency caching to CI workflow #1617

Closed
opened 2026-04-02 23:14:43 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: task/ci-add-dependency-caching
  • Commit Message: chore(ci): add uv dependency caching to CI workflow to reduce install time
  • Milestone: v3.8.0
  • Parent Epic: (to be linked — see orphan note below)

Background and Context

The current CI workflow does not cache dependencies between runs. Every time a CI job runs, it must download and install all dependencies from scratch. This is time-consuming and wastes CI runner resources, especially as the project grows and the dependency tree expands.

Caching the uv cache directory between runs will allow subsequent CI jobs to skip redundant package downloads, significantly reducing overall CI execution time.

Area: CI/CD

Expected Behavior

The CI workflow caches the uv cache directory between runs using a well-scoped cache key, so that dependency installation is skipped (or greatly accelerated) on cache hits.

Acceptance Criteria

  • The CI workflow caches the uv cache directory between runs.
  • The CI workflow is measurably faster after this change due to cache hits.

Subtasks

  • Identify the uv cache directory path on CI runners (typically ~/.cache/uv on Linux).
  • Add a caching step to .forgejo/workflows/ci.yml to cache the uv cache directory.
  • Use a well-scoped cache key (e.g., uv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}).
  • Add appropriate restore keys for partial cache hits.
  • Verify that the cache is populated on first run and hit on subsequent runs.
  • Confirm that CI dependency installation time is reduced after the change.
  • Run nox (all default sessions), fix any errors.
  • Verify coverage >= 97% via nox -s coverage_report.

Definition of Done

  • The uv cache directory is explicitly cached in .forgejo/workflows/ci.yml.
  • The cache key uses uv.lock hash, runner.os, and Python version for correct scoping.
  • The CI workflow is faster after this change (cache hit on subsequent runs).
  • All nox stages pass.
  • Coverage >= 97%.

Automated by CleverAgents Bot
Supervisor: Test Infrastructure | Agent: ca-new-issue-creator

## Metadata - **Branch**: `task/ci-add-dependency-caching` - **Commit Message**: `chore(ci): add uv dependency caching to CI workflow to reduce install time` - **Milestone**: v3.8.0 - **Parent Epic**: *(to be linked — see orphan note below)* ## Background and Context The current CI workflow does not cache dependencies between runs. Every time a CI job runs, it must download and install all dependencies from scratch. This is time-consuming and wastes CI runner resources, especially as the project grows and the dependency tree expands. Caching the `uv` cache directory between runs will allow subsequent CI jobs to skip redundant package downloads, significantly reducing overall CI execution time. **Area**: CI/CD ## Expected Behavior The CI workflow caches the `uv` cache directory between runs using a well-scoped cache key, so that dependency installation is skipped (or greatly accelerated) on cache hits. ## Acceptance Criteria - The CI workflow caches the `uv` cache directory between runs. - The CI workflow is measurably faster after this change due to cache hits. ## Subtasks - [ ] Identify the `uv` cache directory path on CI runners (typically `~/.cache/uv` on Linux). - [ ] Add a caching step to `.forgejo/workflows/ci.yml` to cache the `uv` cache directory. - [ ] Use a well-scoped cache key (e.g., `uv-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('uv.lock') }}`). - [ ] Add appropriate restore keys for partial cache hits. - [ ] Verify that the cache is populated on first run and hit on subsequent runs. - [ ] Confirm that CI dependency installation time is reduced after the change. - [ ] Run `nox` (all default sessions), fix any errors. - [ ] Verify coverage >= 97% via `nox -s coverage_report`. ## Definition of Done - [ ] The `uv` cache directory is explicitly cached in `.forgejo/workflows/ci.yml`. - [ ] The cache key uses `uv.lock` hash, `runner.os`, and Python version for correct scoping. - [ ] The CI workflow is faster after this change (cache hit on subsequent runs). - [ ] All nox stages pass. - [ ] Coverage >= 97%. --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: ca-new-issue-creator
freemo added this to the v3.8.0 milestone 2026-04-02 23:15:05 +00:00
Author
Owner

⚠️ Orphan Issue — Manual Linking Required

This issue does not have a parent Epic linked via Forgejo's dependency system. No Type/Epic issue was found for the TEST-INFRA: [ci-pipeline-design] work stream.

Action required: A project maintainer should either:

  1. Create a parent Epic for the ci-pipeline-design work stream and link this issue as a child (this issue blocks the parent Epic), or
  2. Link this issue to an existing Epic if one exists.

Per CONTRIBUTING.md, orphan issues are not permitted. This issue should be linked to a parent Epic before it is moved to State/Verified.


Automated by CleverAgents Bot
Supervisor: Test Infrastructure | Agent: ca-new-issue-creator

⚠️ **Orphan Issue — Manual Linking Required** This issue does not have a parent Epic linked via Forgejo's dependency system. No `Type/Epic` issue was found for the `TEST-INFRA: [ci-pipeline-design]` work stream. **Action required**: A project maintainer should either: 1. Create a parent Epic for the `ci-pipeline-design` work stream and link this issue as a child (this issue **blocks** the parent Epic), or 2. Link this issue to an existing Epic if one exists. Per `CONTRIBUTING.md`, orphan issues are not permitted. This issue should be linked to a parent Epic before it is moved to `State/Verified`. --- **Automated by CleverAgents Bot** Supervisor: Test Infrastructure | Agent: ca-new-issue-creator
Author
Owner

Closing as duplicate of #1589 (dependency caching improvement). This CI caching improvement is already tracked.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Closing as duplicate of #1589 (dependency caching improvement). This CI caching improvement is already tracked. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo 2026-04-02 23:31:11 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#1617
No description provided.