Repository navigation
ci: apt archive caching + template/docs refresh - #5751
taliesin-ai wants to merge 9 commits into
Conversation
Follow-up to #5746: keep the always-run apt-get install (apt validates, so a stale or corrupt cache can only make the step slower, never broken — the failure class that motivated #5746 cannot recur), but cache the downloaded .deb archives in a user-space Dir::Cache::Archives via actions/cache. Keys use the always-save pattern (run_id key, prefix restore) so caches track runner-image updates instead of going stale. Measured cold cost: 23-44s per Linux job for the GTK4 set across ~30 jobs per full run; warm archives should cut each to roughly a third.
|
Important Review skippedWe couldn't safely recover the incremental review. No full review was started, and the last reviewed checkpoint was preserved. Retry later, or explicitly request a full review by commenting You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughThis PR adds APT archive caching to several Linux GitHub Actions workflows and updates contributor-facing issue, PR, release, and documentation text for v2/v3 guidance. ChangesAPT Archive Caching
Contributor Guidance Updates
Estimated code review effort: 2 (Simple) | ~12 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
A rabbit hopped through CI with care, Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/build-and-test-v3.yml:
- Around line 111-133: The apt archive cache is currently shared between jobs,
causing `test_go` and `test_templates` to overwrite each other’s cached
packages. Update the `actions/cache` configuration in the Ubuntu dependency
setup so the cache key and restore prefix include a job-specific identifier,
keeping the cache entries separate per job while preserving reuse within the
same job.
In @.github/workflows/cross-compile-test-v3.yml:
- Around line 94-107: The apt cache key and restore prefix in the cross-compile
workflow are too broad and can reuse packages across different runner
architectures. Update the cache configuration in the cache step for the
cross-compile dependencies to include matrix.runner in both the actions/cache
key and restore-keys so each architecture gets its own cache and cannot restore
from the wrong leg.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: d2530230-5299-4024-993d-1eb89c8bc124
📒 Files selected for processing (4)
.github/workflows/build-and-test-v3.yml.github/workflows/build-and-test.yml.github/workflows/cross-compile-test-v3.yml.github/workflows/pr-master.yml
- bug_report.yml: drop the stale 'no v3 bug reports accepted' banner (v3 intake is the main workload); ask for the latest alpha tag and wails3 doctor output; mark the TS-generation note as v2-specific. - pull_request_template.md: current alpha2 version example; document the v3/UNRELEASED_CHANGELOG.md wording-override alongside the automatic v3 changelog entries. - issue-labeler.yml: 'master branch' no longer implies v2-only (v3 lives on master too). - nightly-release-v3.yml: display name no longer references the retired v3-alpha branch. - contributing.mdx: branch instructions said 'main'; the default branch is 'master'. Add the v3 changelog automation note.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/ISSUE_TEMPLATE/bug_report.yml (1)
10-10: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueHardcoded alpha version will go stale.
The alpha versioning scheme increments regularly (currently at v3.0.0-alpha2.110/111), so pinning a specific example like
v3.0.0-alpha2.113will quickly become outdated and could mislead reporters into thinking that's the current latest. Consider wording it more generically, e.g. "the latest tagged alpha release" without a specific version number, or link to the releases page.✏️ Suggested wording tweak
- ***For Wails v3 bugs: please use the latest tagged alpha (e.g. `v3.0.0-alpha2.113`), not a source install, and include the output of `wails3 doctor`.*** + ***For Wails v3 bugs: please use the latest tagged alpha release (see the [releases page](https://github.com/wailsapp/wails/releases)), not a source install, and include the output of `wails3 doctor`.***🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/ISSUE_TEMPLATE/bug_report.yml at line 10, The bug report template hardcodes a specific Wails v3 alpha version example that will quickly go stale. Update the wording in the issue template to refer generically to the latest tagged alpha release, and keep the guidance around using a tagged release plus running wails3 doctor; use the existing bug_report.yml template text as the place to adjust.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.github/ISSUE_TEMPLATE/bug_report.yml:
- Line 10: The bug report template hardcodes a specific Wails v3 alpha version
example that will quickly go stale. Update the wording in the issue template to
refer generically to the latest tagged alpha release, and keep the guidance
around using a tagged release plus running wails3 doctor; use the existing
bug_report.yml template text as the place to adjust.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3c45b280-ce20-4746-acec-cf1622444446
📒 Files selected for processing (5)
.github/ISSUE_TEMPLATE/bug_report.yml.github/issue-labeler.yml.github/pull_request_template.md.github/workflows/nightly-release-v3.ymldocs/src/content/docs/contributing.mdx
💤 Files with no reviewable changes (1)
- .github/issue-labeler.yml
✅ Files skipped from review due to trivial changes (3)
- docs/src/content/docs/contributing.mdx
- .github/pull_request_template.md
- .github/workflows/nightly-release-v3.yml
test_go and test_templates install different GTK4 package sets but shared a key slug, so whichever job saved first left the other permanently re-downloading its extras; and the cross-compile matrix pins per-leg runners, so arch-mismatched archives could be restored. Keys and restore prefixes now include github.job and runner.arch.
|
Port pushed as 3375002. Depends on #6137. Merged Validation: M-Press v1.0.17 Ported the automatic-changelog/override guidance to Workflow actionlint: seven existing findings, independently reproduced on both original PR and migration parents; no new findings from this port. These concern unsupported review-event filters, old action versions, and inline head-ref usage; not changed in this docs port. Required CodeRabbit |
Two related pieces of housekeeping (scope widened per Lea):
1. Apt archive caching (original scope): keep
apt-get installalways running — apt validates, so a stale/corrupt cache can only be slow, never broken (the #5746 failure class structurally cannot recur). Cache only the downloaded.debarchives via first-partyactions/cachein a user-spaceDir::Cache::Archives, with always-save keys (run_id+ prefix restore) so archives track runner-image updates. Cold baseline measured at 23-44s per Linux job for the GTK4 set; this push's CI run restores the caches saved by the previous run, so its install steps demonstrate the warm path.2. Template/docs refresh: bug_report.yml no longer tells v3 users their bug reports aren't accepted (stale policy banner removed; asks for latest alpha +
wails3 doctor); PR template gets a current version example and documents thev3/UNRELEASED_CHANGELOG.mdwording override; issue-labeler stops mapping 'master branch' to v2-only (v3 lives on master too); the nightly workflow display name drops the retired 'v3-alpha' branch reference; contributing.mdx branch instructions saidmainwhere the default branch ismaster, and now mention the changelog automation. Note: the suspected duplicate PULL_REQUEST_TEMPLATE.md was a case-insensitive-filesystem illusion; git tracks exactly one file.Summary by CodeRabbit
Documentation
Chores
Performance