From b91fdb26019ad95b199cb72af22ad7a198ec78fd Mon Sep 17 00:00:00 2001 From: unkin-agent Date: Fri, 2 Oct 2026 23:48:13 +1000 Subject: [PATCH] ci: switch Go steps to gobuilder with S3-backed build cache Use the estate gobuilder image for the Go test and pre-commit steps and enable the shared GOCACHEPROG S3 cache to speed up CI builds. --- .woodpecker/pre-commit.yaml | 14 +++++++++++++- .woodpecker/test.yaml | 14 +++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.woodpecker/pre-commit.yaml b/.woodpecker/pre-commit.yaml index b311f00..50b34ca 100644 --- a/.woodpecker/pre-commit.yaml +++ b/.woodpecker/pre-commit.yaml @@ -3,7 +3,7 @@ when: steps: - name: pre-commit - image: golang:1.25 + image: artifactapi.k8s.syd1.au.unkin.net/docker-internal/gobuilder:0.1.2-alma9 backend_options: kubernetes: serviceAccountName: kea-operator-ci @@ -14,6 +14,18 @@ steps: limits: memory: 2Gi cpu: "2" + environment: + GOCACHE_S3_BUCKET: gocache + GOCACHE_S3_REGION: us-east-1 + GOCACHE_S3_ENDPOINT_URL: https://s3.ceph.unkin.net + GOCACHE_S3_PATH_STYLE: "true" + GOCACHE_KEY_PREFIX: ci-kea-operator + GOCACHE_METRICS: "true" + GOCACHEPROG: go-cache-plugin --cache-dir=/tmp/gocache + AWS_ACCESS_KEY_ID: + from_secret: GOCACHE_AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY: + from_secret: GOCACHE_AWS_SECRET_ACCESS_KEY commands: - test -z "$(gofmt -l .)" - go vet ./... diff --git a/.woodpecker/test.yaml b/.woodpecker/test.yaml index 38efe31..ebe2dcb 100644 --- a/.woodpecker/test.yaml +++ b/.woodpecker/test.yaml @@ -3,7 +3,7 @@ when: steps: - name: test - image: golang:1.25 + image: artifactapi.k8s.syd1.au.unkin.net/docker-internal/gobuilder:0.1.2-alma9 backend_options: kubernetes: serviceAccountName: kea-operator-ci @@ -14,5 +14,17 @@ steps: limits: memory: 2Gi cpu: "2" + environment: + GOCACHE_S3_BUCKET: gocache + GOCACHE_S3_REGION: us-east-1 + GOCACHE_S3_ENDPOINT_URL: https://s3.ceph.unkin.net + GOCACHE_S3_PATH_STYLE: "true" + GOCACHE_KEY_PREFIX: ci-kea-operator + GOCACHE_METRICS: "true" + GOCACHEPROG: go-cache-plugin --cache-dir=/tmp/gocache + AWS_ACCESS_KEY_ID: + from_secret: GOCACHE_AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY: + from_secret: GOCACHE_AWS_SECRET_ACCESS_KEY commands: - go test -race -count=1 ./api/... ./internal/...