From ef9e79737c186fa48b92d2cb49ad26bce38c1164 Mon Sep 17 00:00:00 2001 From: codex Date: Sun, 4 Oct 2026 05:28:22 -0500 Subject: [PATCH] ci: move build scratch off node runtime storage --- Jenkinsfile | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 9b59948..bfecff7 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: {kubernetes.io/arch: arm64, node-role.kubernetes.io/worker: "true"} affinity: nodeAffinity: @@ -46,11 +51,17 @@ spec: command: ["cat"] tty: true volumeMounts: [{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 = 'pegasus' PUSHGATEWAY_URL = 'http://platform-quality-gateway.monitoring.svc.cluster.local:9091' SONARQUBE_HOST_URL = 'http://sonarqube.quality.svc.cluster.local:9000' @@ -70,6 +81,11 @@ spec: pollSCM('H/5 * * * *') } 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