ci(#1740): fix container workflow caching#1741
Open
josecelano wants to merge 5 commits intotorrust:developfrom
Open
ci(#1740): fix container workflow caching#1741josecelano wants to merge 5 commits intotorrust:developfrom
josecelano wants to merge 5 commits intotorrust:developfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR improves CI container build caching and speeds up Docker-based E2E jobs by ensuring Docker layer cache scopes don’t collide and by reusing a prebuilt tracker image instead of rebuilding it inside Rust runners.
Changes:
- Fix
.github/workflows/container.yamlcheckout ordering and scope BuildKittype=ghacaches per target/job. - Prebuild the tracker image in
.github/workflows/testing.yamland run E2E runners with--skip-buildusing the prebuilt tag. - Reduce Docker context churn via
.dockerignoreupdates and document cache-related/intentionalContainerfilesteps; add an issue spec doc describing the caching problem and solution.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/console/ci/qbittorrent_e2e/services_setup.rs | Adds skip_build plumbing to optionally skip docker compose build before bringing up the stack. |
| src/console/ci/qbittorrent_e2e/runner.rs | Adds --skip-build CLI flag and improves startup error context. |
| src/console/ci/e2e/runner.rs | Adds --tracker-image and --skip-build to reuse a prebuilt tracker image. |
| docs/issues/1740-fix-container-workflow-caching.md | Documents the caching issues/root cause and proposed workflow + context fixes. |
| Containerfile | Adds inline documentation for non-obvious build/cache-related steps. |
| .github/workflows/testing.yaml | Prebuilds a cached release image for Docker E2E and passes --tracker-image/--skip-build to runners. |
| .github/workflows/container.yaml | Fixes checkout ordering and scopes type=gha cache keys to avoid collisions across matrix/jobs. |
| .dockerignore | Excludes additional non-build files to reduce cache busting from unrelated changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #1741 +/- ##
===========================================
- Coverage 79.45% 79.42% -0.04%
===========================================
Files 368 368
Lines 27117 27129 +12
Branches 27117 27129 +12
===========================================
+ Hits 21546 21547 +1
- Misses 5290 5302 +12
+ Partials 281 280 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/container.yaml.github/workflows/testing.yamland reuse it in E2E runners with--skip-build.dockerignoreand document the non-obvious cache-relatedContainerfilestepsValidation
cargo check --bin e2e_tests_runner --bin qbittorrent_e2e_runnerlinter yamllinter allThis branch contains four separate commits:
docs(#1740): add container workflow caching issue specci(container): fix checkout and cache scopingci(e2e): reuse prebuilt tracker imagechore(container): reduce context churn and document cache