TEST-INFRA: [ci-pipeline-design] Implement dependency caching in CI #2018

Closed
opened 2026-04-03 02:40:24 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: feat/ci-dependency-caching
  • Commit Message: feat(ci): implement uv dependency caching to reduce CI install time
  • Milestone: v3.8.0
  • Parent Epic: #1678

User Story

As a developer, I want the CI pipeline to use dependency caching so that I can get faster feedback on my changes.

Acceptance Criteria

  • The CI pipeline caches the uv cache directory between runs.
  • The time it takes to install dependencies in the CI pipeline is significantly reduced.

Background

The noxfile.py uses uv as the venv_backend, which is a fast package installer. However, there is no explicit caching of dependencies between CI runs. This means that uv has to download and install all dependencies for every CI run, which can be time-consuming.

Implementing dependency caching will speed up the installation process and reduce the overall CI run time, complementing the broader CI execution time optimization work tracked in Epic #1678.

Subtasks

  • Identify the uv cache directory path used in the CI environment
  • Add a cache step to .forgejo/workflows/ci.yml that caches the uv cache directory keyed on the dependency lockfile (e.g., uv.lock or pyproject.toml)
  • Verify the cache is restored correctly on subsequent runs
  • Update features/ci_workflow_validation.feature to assert the cache step is present in the workflow
  • Confirm all nox stages pass after changes
  • Confirm coverage ≥ 97%

Definition of Done

  • .forgejo/workflows/ci.yml includes a cache action step that caches the uv cache directory between runs
  • The cache key is based on the dependency lockfile so it invalidates correctly when dependencies change
  • CI dependency installation time is measurably reduced on cache-hit runs
  • features/ci_workflow_validation.feature is updated to cover the new caching step
  • All nox stages pass
  • Coverage >= 97%

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

## Metadata - **Branch**: `feat/ci-dependency-caching` - **Commit Message**: `feat(ci): implement uv dependency caching to reduce CI install time` - **Milestone**: v3.8.0 - **Parent Epic**: #1678 ## User Story As a developer, I want the CI pipeline to use dependency caching so that I can get faster feedback on my changes. ## Acceptance Criteria - The CI pipeline caches the `uv` cache directory between runs. - The time it takes to install dependencies in the CI pipeline is significantly reduced. ## Background The `noxfile.py` uses `uv` as the `venv_backend`, which is a fast package installer. However, there is no explicit caching of dependencies between CI runs. This means that `uv` has to download and install all dependencies for every CI run, which can be time-consuming. Implementing dependency caching will speed up the installation process and reduce the overall CI run time, complementing the broader CI execution time optimization work tracked in Epic #1678. ## Subtasks - [ ] Identify the `uv` cache directory path used in the CI environment - [ ] Add a `cache` step to `.forgejo/workflows/ci.yml` that caches the `uv` cache directory keyed on the dependency lockfile (e.g., `uv.lock` or `pyproject.toml`) - [ ] Verify the cache is restored correctly on subsequent runs - [ ] Update `features/ci_workflow_validation.feature` to assert the cache step is present in the workflow - [ ] Confirm all nox stages pass after changes - [ ] Confirm coverage ≥ 97% ## Definition of Done - [ ] `.forgejo/workflows/ci.yml` includes a `cache` action step that caches the `uv` cache directory between runs - [ ] The cache key is based on the dependency lockfile so it invalidates correctly when dependencies change - [ ] CI dependency installation time is measurably reduced on cache-hit runs - [ ] `features/ci_workflow_validation.feature` is updated to cover the new caching step - [ ] 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-03 02:40:29 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: High (confirmed) — Dependency caching is a foundational CI optimization that benefits all subsequent CI runs.
  • Milestone: v3.8.0 (confirmed — CI infrastructure improvements)
  • MoSCoW: Could Have — Dependency caching improves CI speed but does not block any milestone deliverables. The CI pipeline functions correctly without it; this is a performance optimization.
  • Parent Epic: #1678 (confirmed correct)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: High (confirmed) — Dependency caching is a foundational CI optimization that benefits all subsequent CI runs. - **Milestone**: v3.8.0 (confirmed — CI infrastructure improvements) - **MoSCoW**: Could Have — Dependency caching improves CI speed but does not block any milestone deliverables. The CI pipeline functions correctly without it; this is a performance optimization. - **Parent Epic**: #1678 (confirmed correct) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

Closing as duplicate of #3062. Both issues address implementing dependency caching in CI to reduce build times, with the same parent Epic (#1678) and milestone (v3.8.0). Issue #3062 is already verified and has a more complete description with proper metadata.

Note: #3095 also covers the same topic but focuses on uv backend caching specifically. #3062 is the canonical issue for this work.


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

Closing as duplicate of #3062. Both issues address implementing dependency caching in CI to reduce build times, with the same parent Epic (#1678) and milestone (v3.8.0). Issue #3062 is already verified and has a more complete description with proper metadata. Note: #3095 also covers the same topic but focuses on `uv` backend caching specifically. #3062 is the canonical issue for this work. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
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.

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