Skip to content

Commit 4078346

Browse files
faiqdlipovetsky
andauthored
fix: adds a docker buildx step before release-snapshot (#741)
**What problem does this PR solve?**: We add a make target to create a docker buildx builder container. We create this builder container as a dependency of the `release` and `release-snapshot` make targets, which fixes the local development workflow. This is tested on amd64 and arm64. The new make target makes the two docker-related third-party github actions unnecessary, so we remove them. That brings the CI workflow one step closer to being reproducible locally. --------- Co-authored-by: Daniel Lipovetsky <[email protected]>
1 parent 1680a6f commit 4078346

File tree

5 files changed

+9
-16
lines changed

5 files changed

+9
-16
lines changed

.github/workflows/checks.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -194,12 +194,6 @@ jobs:
194194
echo "changed=true" >> "$GITHUB_OUTPUT"
195195
fi
196196
197-
- if: steps.list-changed.outputs.changed == 'true'
198-
uses: docker/setup-qemu-action@v3
199-
200-
- if: steps.list-changed.outputs.changed == 'true'
201-
uses: docker/setup-buildx-action@v3
202-
203197
- if: steps.list-changed.outputs.changed == 'true'
204198
name: Run chart-testing (lint)
205199
run: |

.github/workflows/e2e.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,6 @@ jobs:
5555
echo "After removing files:"
5656
df -h
5757
58-
- uses: docker/setup-qemu-action@v3
59-
60-
- uses: docker/setup-buildx-action@v3
61-
6258
- name: Run e2e tests
6359
run: devbox run -- make e2e-test E2E_LABEL='provider:${{ inputs.provider }}' E2E_SKIP='${{ inputs.skip }}' E2E_FOCUS='${{ inputs.focus }}'
6460
env:

.github/workflows/release-tag.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,6 @@ jobs:
2727
ref: ${{ github.ref }}
2828
fetch-depth: 0
2929

30-
- uses: docker/setup-qemu-action@v3
31-
32-
- uses: docker/setup-buildx-action@v3
33-
3430
- name: Install devbox
3531
uses: jetify-com/[email protected]
3632
with:

.goreleaser.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ dockers:
111111
- hack/addons/mindthegap-helm-registry/repos.yaml
112112
build_flag_templates:
113113
- "--platform=linux/amd64"
114+
- "--builder=caren"
114115
- "--pull"
115116
- "--label=org.opencontainers.image.created={{.CommitDate}}"
116117
- "--label=org.opencontainers.image.title=caren-helm-reg"
@@ -132,6 +133,7 @@ dockers:
132133
- hack/addons/mindthegap-helm-registry/repos.yaml
133134
build_flag_templates:
134135
- "--platform=linux/arm64"
136+
- "--builder=caren"
135137
- "--pull"
136138
- "--label=org.opencontainers.image.created={{.CommitDate}}"
137139
- "--label=org.opencontainers.image.title=caren-helm-reg"

make/goreleaser.mk

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ ifndef GORELEASER_CURRENT_TAG
88
export GORELEASER_CURRENT_TAG=$(GIT_TAG)
99
endif
1010

11+
.PHONY: docker-buildx
12+
docker-buildx: ## Creates buildx builder container that supports multiple platforms.
13+
docker-buildx:
14+
docker buildx create --name=caren --platform=linux/arm64,linux/amd64 || true
15+
1116
.PHONY: build-snapshot
1217
build-snapshot: ## Builds a snapshot with goreleaser
1318
build-snapshot: go-generate ; $(info $(M) building snapshot $*)
@@ -20,7 +25,7 @@ build-snapshot: go-generate ; $(info $(M) building snapshot $*)
2025

2126
.PHONY: release
2227
release: ## Builds a release with goreleaser
23-
release: go-generate ; $(info $(M) building release $*)
28+
release: docker-buildx go-generate ; $(info $(M) building release $*)
2429
goreleaser --verbose=$(GORELEASER_VERBOSE) \
2530
release \
2631
--clean \
@@ -30,7 +35,7 @@ release: go-generate ; $(info $(M) building release $*)
3035

3136
.PHONY: release-snapshot
3237
release-snapshot: ## Builds a snapshot release with goreleaser
33-
release-snapshot: go-generate ; $(info $(M) building snapshot release $*)
38+
release-snapshot: docker-buildx go-generate ; $(info $(M) building snapshot release $*)
3439
goreleaser --verbose=$(GORELEASER_VERBOSE) \
3540
release \
3641
--snapshot \

0 commit comments

Comments
 (0)