woodpecker main.yaml: workspace-shared pip cache via PIP_CACHE_DIR: .pip-cache on all 3 test steps (test-UTs-n-ITs / test-two-browser-FTs / test-FTs) — each step currently re-downloads the entire requirements.txt wheel set independently; Woodpecker mounts the workspace across steps in one run, so the wheels populated by step 1 are reused by steps 2-3, saving ~1-2 min of pip-install wall-clock per run (only download time — install still happens fresh per container); pyswiss.yaml untouched (separate pipeline, separate workspace, separate requirements); cache is per-run only — cross-run persistence would need a Woodpecker volume plugin
Some checks failed
ci/woodpecker/push/pyswiss Pipeline was successful
ci/woodpecker/push/main Pipeline failed

Code architected by Disco DeDisco <discodedisco@outlook.com>
Git commit message Co-Authored-By:
Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Disco DeDisco
2026-05-12 18:01:34 -04:00
parent 3932b17256
commit b97c4a0508

View File

@@ -16,6 +16,12 @@ steps:
DATABASE_URL: postgresql://postgres:postgres@postgres/python_tdd_test
CELERY_BROKER_URL: redis://redis:6379/0
REDIS_URL: redis://redis:6379/1
# Workspace-shared pip cache — Woodpecker mounts the workspace across
# all steps in a run, so the wheels populated here are reused by
# test-two-browser-FTs + test-FTs (saves ~30-60s × 2 = ~1-2 min per
# run). Cache lives only inside one run; cross-run caching would
# need a volume plugin.
PIP_CACHE_DIR: .pip-cache
commands:
- pip install -r requirements.txt
- cd ./src
@@ -37,6 +43,7 @@ steps:
from_secret: stripe_secret_key
STRIPE_PUBLISHABLE_KEY:
from_secret: stripe_publishable_key
PIP_CACHE_DIR: .pip-cache
commands:
- pip install -r requirements.txt
- cd ./src
@@ -61,6 +68,7 @@ steps:
from_secret: stripe_secret_key
STRIPE_PUBLISHABLE_KEY:
from_secret: stripe_publishable_key
PIP_CACHE_DIR: .pip-cache
commands:
- pip install -r requirements.txt
- cd ./src