Skip to content

Commit e3b6968

Browse files
committed
Fix
1 parent 57916de commit e3b6968

File tree

1 file changed

+45
-2
lines changed

1 file changed

+45
-2
lines changed

.circleci/config.yml

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,29 @@ executors:
1010
docker:
1111
- image: cimg/go:1.26.0
1212

13+
# Machine executor: Docker and binfmt run on the VM host so armv7 builds work (QEMU).
14+
release-machine:
15+
machine:
16+
image: ubuntu-2004:current
17+
resource_class: large
18+
shell: /bin/bash
19+
1320
commands:
1421
install_goreleaser_dependencies:
1522
description: Register Docker platforms for multi-arch builds (arm64, armv7)
1623
steps:
1724
- run: docker run --privileged --rm tonistiigi/binfmt --install all
1825

1926
references:
27+
install_vault_ubuntu: &install_vault_ubuntu
28+
run:
29+
name: install hashicorp vault (Ubuntu)
30+
command: |
31+
sudo apt-get update -qq && sudo apt-get install -y -qq unzip curl
32+
curl -sLo /tmp/vault.zip https://releases.hashicorp.com/vault/1.12.2/vault_1.12.2_linux_amd64.zip
33+
echo "116c143de377a77a7ea455a367d5e9fe5290458e8a941a6e2dd85d92aaedba67 /tmp/vault.zip" | sha256sum -c -
34+
unzip -o /tmp/vault.zip -d /tmp && sudo mv /tmp/vault /usr/local/bin/vault
35+
vault version
2036
e2e_config: &e2e_config
2137
command_runner_image: quay.io/reactiveops/ci-images:v14-bullseye
2238
kind_node_image: "kindest/node:v1.26.6@sha256:6e2d8b28a5b601defe327b98bd1c2d1930b49e5d8c512e1895099e4504007adb"
@@ -82,6 +98,33 @@ jobs:
8298
- install_goreleaser_dependencies
8399
- run: echo 'export GORELEASER_CURRENT_TAG="${CIRCLE_TAG}"' >> $BASH_ENV
84100
- run: goreleaser
101+
102+
# Uses machine executor so Docker + binfmt run on same host; armv7 image builds succeed.
103+
release_machine:
104+
executor: release-machine
105+
working_directory: ~/pluto
106+
steps:
107+
- checkout
108+
- *install_vault_ubuntu
109+
- rok8s/get_vault_env:
110+
vault_path: repo/global/env
111+
- rok8s/get_vault_env:
112+
vault_path: repo/pluto/env
113+
- run:
114+
name: docker login
115+
command: |
116+
docker login -u _json_key -p "$(echo $GCP_ARTIFACTREADWRITE_JSON_KEY | base64 -d)" us-docker.pkg.dev
117+
- install_goreleaser_dependencies
118+
- run:
119+
name: run goreleaser (host Docker + binfmt for armv7)
120+
command: |
121+
export GORELEASER_CURRENT_TAG="${CIRCLE_TAG}"
122+
docker run --rm \
123+
-v "$(pwd)":/workspace \
124+
-v /var/run/docker.sock:/var/run/docker.sock \
125+
-w /workspace \
126+
--env-file <(env) \
127+
goreleaser/goreleaser:v2.14.0
85128
snapshot:
86129
working_directory: /home/circleci/go/src/github.com/fairwindsops/pluto
87130
resource_class: large
@@ -147,15 +190,15 @@ workflows:
147190
<<: *e2e_config
148191
release:
149192
jobs:
150-
- release:
193+
- release_machine:
151194
filters:
152195
branches:
153196
ignore: /.*/
154197
tags:
155198
only: /.*/
156199
- oss-docs/publish-docs:
157200
requires:
158-
- release
201+
- release_machine
159202
repository: pluto
160203
filters:
161204
branches:

0 commit comments

Comments
 (0)