From e2c04a7f868bb4d50f819cff4f330bb5dbd33528 Mon Sep 17 00:00:00 2001 From: codex Date: Sun, 4 Oct 2026 05:27:56 -0500 Subject: [PATCH] ci: move build scratch off node runtime storage --- Jenkinsfile | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 439e9c2..7460b37 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,11 +1,16 @@ pipeline { agent { kubernetes { + // Keep build I/O off the node's runtime USB drive. + workspaceVolume dynamicPVC(accessModes: 'ReadWriteOnce', requestsSize: '20Gi', storageClassName: 'ci-scratch') defaultContainer 'go-tester' yaml """ apiVersion: v1 kind: Pod spec: + securityContext: + fsGroup: 1000 + fsGroupChangePolicy: OnRootMismatch nodeSelector: hardware: rpi5 kubernetes.io/arch: arm64 @@ -59,13 +64,18 @@ spec: - name: workspace-volume mountPath: /home/jenkins/agent volumes: - - name: workspace-volume - emptyDir: {} """ } } environment { + PIP_CACHE_DIR = '/home/jenkins/agent/.cache/pip' + NPM_CONFIG_CACHE = '/home/jenkins/agent/.cache/npm' + SONAR_USER_HOME = '/home/jenkins/agent/.cache/sonar' + TMPDIR = '/home/jenkins/agent/.cache/tmp' + GOCACHE = '/home/jenkins/agent/.cache/go-build' + GOMODCACHE = '/home/jenkins/agent/.cache/go-mod' + GOTMPDIR = '/home/jenkins/agent/.cache/go-tmp' SUITE_NAME = 'ananke' PUSHGATEWAY_URL = 'http://platform-quality-gateway.monitoring.svc.cluster.local:9091' SONARQUBE_HOST_URL = 'http://sonarqube.quality.svc.cluster.local:9000' @@ -88,6 +98,11 @@ spec: } stages { + stage('Prepare build scratch') { + steps { + sh 'mkdir -p /home/jenkins/agent/.cache/tmp /home/jenkins/agent/.cache/go-tmp' + } + } stage('Checkout') { steps { checkout scm