#35722 ci: cache BSD sdk sources separately
| Reviewability | Reviews | Agreement | Size | ||||
|---|---|---|---|---|---|---|---|
| #35722 ci: cache BSD sdk sources separately | Author silent 89d | 0 | Crickets | 29 + 91 tests | |||
|
|
|
|
| |||
Reviewability: ReadyStalePaused Agreement: StrongPositivePositive w/ caveatsNeutralMildDisputedBlockedCrickets Reviews: current code-review ACKs, then (+stale ACKs) and -NACKs; greener = more ACKs. Size: lines added or modified outside tests, then in tests; greener = smaller. | |||||||
Goal
Extracts the BSD SDK archive downloads from the base container image build into a standalone script run inside the container, and caches the SDK downloads using GitHub Actions caching. It also unifies cache source and destination mount definitions in `ci/test/02_run_container.py`.
Problem: When the BSD CI container base image cache misses, CI jobs re-download SDK archives directly from external upstream BSD mirrors, wasting time and risking job failure if those mirrors are unresponsive.
Reviewability
Stale · Author silent 89d
No author activity for 89 days; a review may wait a long time for a response.
Waiting on (from the thread read):
- author: response to sedited's inquiry on whether the PR is still worthwhile and rebase 2026-10-31
- author: rebase requested 2026-09-16
- author: response on whether the changes are still worthwhile 2026-10-31
Agreement
Crickets
no substantive comment either way
Thread notes: Added maflcko's alternative approach suggestion and question about failure logs, both answered by the author. Added sedited's question on whether the change remains worthwhile, which is currently open. / Added suggestions and questions under schema rules. The PR is waiting on the author for a rebase and to confirm whether the PR remains worthwhile.
Objections, suggestions, and questions:
| Reviewer | Type | Harm, request, or question | Status | Must be | Author replied | Quote |
|---|---|---|---|---|---|---|
| maflcko (member) | suggestion, approach | consider adding fallback mirrors as an alternative to separate caching in CI | answered · author explained tradeoffs of CI caching versus fallback mirrors | answered | yes | 2026-08-04: 'An alternative would be to add fallback mirrors (like in depends), but this may be fine as well' Status from: 2026-08-04: willcl-ark: 'Yeah I'm open to either option too. The nice thing about caching them in CI is that nobody has to update the fallback mirror on each SDK update' |
| maflcko (member) | question, usefulness | whether there were any specific CI logs where the SDK download failed | answered · author confirmed there were no failure logs, only needless re-downloads | answered | yes | 2026-08-04: 'Do you recall any CI logs where the download failed?' Status from: 2026-08-04: willcl-ark: 'I do not, it was just the re-downloading them needlessly which prompted this change.' |
| sedited (member) | suggestion, usefulness | clarify whether the changes here are still worthwhile | open | answered | no | 2026-10-31: 'do you still think the changes here are worthwhile?' |
Participants:
- maflcko (member, question, 2 statements 2026-08-04 to 2026-08-04): suggested fallback mirrors as an alternative and asked if any CI download failures had occurred
- sedited (member, question, 2 statements 2026-09-16 to 2026-10-31): pinged for rebase and asked if the changes are still worthwhile
Files
160 lines under test/bench/ci.
- ci/test/02_run_container.py +35/-29
- ci/test/01_setup_bsd.sh +56/-0
- ci/test/01_base_install.sh +0/-40
- .github/actions/cache/restore/action.yml +10/-0
- .github/actions/configure-environment/action.yml +10/-0
- .github/actions/cache/save/action.yml +9/-0
Card
The short text the ranking pass compares across PRs.
This PR moves BSD SDK downloads out of the base container image build into a dedicated setup script and caches them via GitHub Actions cache actions, mounting them at container runtime. It avoids redundant downloads from BSD mirrors when the CI container base image cache expires. While useful for CI efficiency, the author confirmed no CI failures have actually been observed from the existing downloads, and maflcko suggested fallback mirrors as an alternate approach. The branch has merge conflicts and is waiting on an author rebase.
Data
thread read through 2026-10-31 (6 statements), head cd4b34c58d
labels: Tests, Needs rebase
Categories
Build and CI
P3 · speedup (ranking pass: Moved down from 30: author confirms no CI failure has actually been observed, so the benefit is speculative)
Prevents slow and potentially failing re-downloads of external BSD SDK archives when the CI base image cache misses. The description notes this avoids 'wasting time and risking job failure if those mirrors are unresponsive', providing a useful improvement to CI turnaround and reliability.
Membership: Modifies CI container scripts under ci/test/ and GitHub Actions cache configurations in .github/actions/.
Factors: security/stability 0, bug 0, performance 1, user value 0, leverage 0