Repository navigation
ci: use Woodpecker runner pip cache - #660
Conversation
📝 WalkthroughWalkthroughThe lint-and-smoke-tests CI pipeline step in .woodpecker/ci.yml is updated to set a PIP_CACHE_DIR environment variable and mount a persistent woodpecker-runner-cache volume at /cache, enabling pip download caching across runs. ChangesCI Pip Cache Update
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
🚥 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 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.woodpecker/ci.yml (1)
13-15: 🔒 Security & Privacy | 🔵 TrivialShared, persistent pip cache is a soft cache-poisoning vector.
PIP_CACHE_DIRnow points into a persistent PVC shared across all runs of this step. Since trusted volumes are repo/workflow-author scoped rather than PVC-scoped (per the PR's own rollout notes), any trusted-but-compromised commit or dependency resolved once could leave poisoned wheels/sdists in the shared cache for reuse by later runs, including main-branch builds. The PR notes treat the cache as "disposable," but there's no periodic invalidation or integrity check tied to that assumption in this config.Consider documenting/automating a cache-clearing cadence (or hash-pinning
pip installinputs) so a stale/poisoned cache entry can't silently persist indefinitely.🤖 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 @.woodpecker/ci.yml around lines 13 - 15, The shared PIP_CACHE_DIR in the Woodpecker CI step can persist poisoned pip artifacts across runs, so update the CI configuration to avoid relying on an indefinitely shared cache. In the .woodpecker/ci.yml step that sets PIP_CACHE_DIR and mounts the volume, add a cache-clearing or rotation mechanism tied to the pip install workflow, or enforce hash-pinned dependency inputs so cached wheels/sdists cannot be reused silently. Keep the guidance close to the existing pip cache setup and the runner cache volume definition.
🤖 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 @.woodpecker/ci.yml:
- Around line 13-15: The shared PIP_CACHE_DIR in the Woodpecker CI step can
persist poisoned pip artifacts across runs, so update the CI configuration to
avoid relying on an indefinitely shared cache. In the .woodpecker/ci.yml step
that sets PIP_CACHE_DIR and mounts the volume, add a cache-clearing or rotation
mechanism tied to the pip install workflow, or enforce hash-pinned dependency
inputs so cached wheels/sdists cannot be reused silently. Keep the guidance
close to the existing pip cache setup and the runner cache volume definition.
Summary
Verification
Rollout notes
Summary by CodeRabbit