ci: pre-pull testcontainer images on fork PRs - #4684
Conversation
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
💤 Files with no reviewable changes (5)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (21)
WalkthroughFive GitHub Actions workflows now run Docker image pre-pull steps unconditionally. The changes remove checks for Merge Risk: ⚪ Minimal · up to Fork pull requests will pre-pull testcontainer images without requiring DockerHub credentials, while authenticated login remains gated; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
The
Pre-pull testcontainer imagesstep is gated onenv.DOCKERHUB_USERNAME. Fork PRs receive no repository secrets, so that variable is empty and the step is skipped along with the DockerHub login it was grouped with.Why
With the pre-pull skipped, testcontainers pulls images lazily — inside the first test that resolves the fixture, against that test's
testTimeout. On PR #4534 that pushed five webapp shards past their 60s cap across three runs, each failing asTest timed out in 60000mswhile 42 of 43 files in the shard passed.Measured cost of the missing pre-pull, comparing the delta from vitest start to the first container fixture on the same runner class:
A 10.0s penalty, bimodal to within 0.3s.
Note the pulls themselves succeed anonymously — there are no rate-limit errors in any of the failing logs. Only the login needs credentials, so the pre-pull can run unconditionally.
Scope
Removes the
if:from the pre-pull step in all five workflows that have one. The DockerHub login stays gated, since it genuinely needs secrets.