9e3cef8ef8
Why: unify on the estate gobuilder image and share the S3-backed Go build cache across repos instead of pulling golang:1.25 cold each run. - Swap build/test/pre-commit/release Go steps to gobuilder:0.1.2-alma9 - Add GOCACHEPROG (go-cache-plugin, absolute cache dir) + S3 cache env - Source AWS creds from org-level GOCACHE secrets - Leave lint step on golangci-lint image (binary absent from gobuilder) - Leave rpm/upload/release steps untouched (no Go toolchain) Reviewed-on: #20 Co-authored-by: unkin-agent <unkin-agent@unkin.net> Co-committed-by: unkin-agent <unkin-agent@unkin.net>
46 lines
1.2 KiB
YAML
46 lines
1.2 KiB
YAML
when:
|
|
- event: pull_request
|
|
|
|
steps:
|
|
- name: lint
|
|
image: golangci/golangci-lint:latest
|
|
commands:
|
|
- golangci-lint run ./...
|
|
backend_options:
|
|
kubernetes:
|
|
serviceAccountName: default
|
|
resources:
|
|
requests:
|
|
memory: 512Mi
|
|
cpu: 1
|
|
limits:
|
|
memory: 2Gi
|
|
cpu: 2
|
|
|
|
- name: test
|
|
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-node-lookup
|
|
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 -v -race ./...
|
|
backend_options:
|
|
kubernetes:
|
|
serviceAccountName: default
|
|
resources:
|
|
requests:
|
|
memory: 512Mi
|
|
cpu: 1
|
|
limits:
|
|
memory: 2Gi
|
|
cpu: 2
|