1 Commits

Author SHA1 Message Date
unkin-agent 9bacd6fa7a ci: move Go steps to gobuilder image with shared S3 build cache
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
golang:1.25 lacked the estate CA trust and a build cache, making every
pre-commit/test run pay full compile cost and risking TLS failures
against internal endpoints.

- switch pre-commit and test steps to the gobuilder image
- wire GOCACHEPROG to go-cache-plugin against the shared S3 cache bucket
- add backend_options resources and serviceAccountName to both steps
2026-10-02 23:47:30 +10:00
2 changed files with 44 additions and 2 deletions
+22 -1
View File
@@ -3,7 +3,28 @@ when:
steps: steps:
- name: pre-commit - name: pre-commit
image: golang:1.25 image: artifactapi.k8s.syd1.au.unkin.net/docker-internal/gobuilder:0.1.2-alma9
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-bind-operator
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: commands:
- test -z "$(gofmt -l .)" - test -z "$(gofmt -l .)"
- go vet ./... - go vet ./...
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 512Mi
cpu: 1
limits:
memory: 2Gi
cpu: 2
+22 -1
View File
@@ -3,6 +3,27 @@ when:
steps: steps:
- name: test - name: test
image: golang:1.25 image: artifactapi.k8s.syd1.au.unkin.net/docker-internal/gobuilder:0.1.2-alma9
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-bind-operator
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: commands:
- go test -race -count=1 ./api/... ./internal/... - go test -race -count=1 ./api/... ./internal/...
backend_options:
kubernetes:
serviceAccountName: default
resources:
requests:
memory: 1Gi
cpu: 1
limits:
memory: 3Gi
cpu: 2