Skip to content

Commit 81e5c39

Browse files
committed
ci: speed up release image builds
1 parent 772758a commit 81e5c39

3 files changed

Lines changed: 18 additions & 25 deletions

File tree

.github/workflows/release.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ jobs:
2323
with:
2424
go-version-file: go.mod
2525
cache: true
26-
- name: Set up QEMU
27-
uses: docker/setup-qemu-action@v4
2826
- name: Set up Docker Buildx
2927
uses: docker/setup-buildx-action@v4
3028
- name: Login to DockerHub

.goreleaser.yaml

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
---
22
version: 2
33
project_name: cloudflare-operator
4-
before:
5-
hooks:
6-
- go mod tidy
7-
- go generate ./...
84
builds:
9-
- main: ./cmd/main.go
5+
- id: manager
6+
main: ./cmd/main.go
7+
binary: manager
108
env:
119
- CGO_ENABLED=0
1210
goos:
@@ -22,18 +20,14 @@ dockers:
2220
- ghcr.io/containeroo/cloudflare-operator:{{ .Tag }}-amd64
2321
- containeroo/cloudflare-operator:{{ .Tag }}-amd64
2422
use: buildx
25-
dockerfile: Dockerfile
26-
extra_files:
27-
- go.mod
28-
- go.sum
29-
- cmd/main.go
30-
- api
31-
- internal
23+
dockerfile: Dockerfile.goreleaser
24+
ids:
25+
- manager
3226
build_flag_templates:
3327
- --pull
3428
- --platform=linux/amd64
35-
- --build-arg
36-
- LDFLAGS=-s -w -X main.Version={{ .Tag }}
29+
- --cache-from=type=gha,scope=cloudflare-operator-amd64
30+
- --cache-to=type=gha,mode=max,scope=cloudflare-operator-amd64
3731
- --label=org.opencontainers.image.title={{ .ProjectName }}
3832
- --label=org.opencontainers.image.description={{ .ProjectName }}
3933
- --label=org.opencontainers.image.url=https://github.com/containeroo/cloudflare-operator
@@ -46,19 +40,15 @@ dockers:
4640
- ghcr.io/containeroo/cloudflare-operator:{{ .Tag }}-arm64
4741
- containeroo/cloudflare-operator:{{ .Tag }}-arm64
4842
use: buildx
49-
dockerfile: Dockerfile
50-
extra_files:
51-
- go.mod
52-
- go.sum
53-
- cmd/main.go
54-
- api
55-
- internal
43+
dockerfile: Dockerfile.goreleaser
44+
ids:
45+
- manager
5646
goarch: arm64
5747
build_flag_templates:
5848
- --pull
5949
- --platform=linux/arm64
60-
- --build-arg
61-
- LDFLAGS=-s -w -X main.Version={{ .Tag }}
50+
- --cache-from=type=gha,scope=cloudflare-operator-arm64
51+
- --cache-to=type=gha,mode=max,scope=cloudflare-operator-arm64
6252
- --label=org.opencontainers.image.title={{ .ProjectName }}
6353
- --label=org.opencontainers.image.description={{ .ProjectName }}
6454
- --label=org.opencontainers.image.url=https://github.com/containeroo/cloudflare-operator

Dockerfile.goreleaser

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM gcr.io/distroless/static:nonroot
2+
WORKDIR /
3+
COPY manager .
4+
USER 65532:65532
5+
ENTRYPOINT ["/manager"]

0 commit comments

Comments
 (0)