diff --git a/.woodpecker/ci.yml b/.woodpecker/ci.yml index 91cfecf2..7b106d7d 100644 --- a/.woodpecker/ci.yml +++ b/.woodpecker/ci.yml @@ -5,9 +5,12 @@ steps: typecheck-backend: image: code.cannabrands.app/creationshop/node:20 commands: + - npm config set cache /npm-cache/backend --global - cd backend - npm ci --prefer-offline - npx tsc --noEmit + volumes: + - npm-cache:/npm-cache depends_on: [] when: event: pull_request @@ -17,9 +20,12 @@ steps: typecheck-cannaiq: image: code.cannabrands.app/creationshop/node:20 commands: + - npm config set cache /npm-cache/cannaiq --global - cd cannaiq - npm ci --prefer-offline - npx tsc --noEmit + volumes: + - npm-cache:/npm-cache depends_on: [] when: event: pull_request diff --git a/k8s/woodpecker-agent.yaml b/k8s/woodpecker-agent.yaml index e0987331..d9fc21bb 100644 --- a/k8s/woodpecker-agent.yaml +++ b/k8s/woodpecker-agent.yaml @@ -6,6 +6,19 @@ kind: Namespace metadata: name: woodpecker --- +# PVC for npm cache - shared across CI jobs +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: npm-cache + namespace: woodpecker +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 5Gi +--- apiVersion: v1 kind: Secret metadata: @@ -52,6 +65,9 @@ spec: value: "woodpecker" - name: WOODPECKER_BACKEND_K8S_VOLUME_SIZE value: "10G" + # Allow CI steps to mount the npm-cache PVC + - name: WOODPECKER_BACKEND_K8S_VOLUMES + value: "npm-cache:/npm-cache" resources: limits: memory: "512Mi"