refactor(ci): enable multi-platform Docker builds in CI/CD workflows

- Add QEMU and Docker Buildx setup to ci.yml for cross-platform support - Update Docker build in ci.yml to use build-push-action with linux/amd64, arm64, and arm/v7 platforms - Fix indentation and remove trailing whitespace in cd.yml platforms list - Remove unnecessary trailing newline in cd.yml This ensures consistent multi-architecture image building across CI and CD pipelines, improving deployment flexibility for various hardware.

lemon-mint committed Nov 5, 2025 at 10:12 UTC e4dbcd9567e5f7e6a16e40d99965faa34503f239
2 files changed +20 -8
.github/workflows/cd.yml
+4 -5
@@ -31,7 +31,7 @@ jobs:
31 password: ${{ secrets.GITHUB_TOKEN }}
32
33 - name: Set up QEMU
34 - uses: docker/setup-qemu-action@v3
34 + uses: docker/setup-qemu-action@v3
35
36 - name: Set up Docker Buildx
37 uses: docker/setup-buildx-action@v3
@@ -52,11 +52,10 @@ jobs:
52 uses: docker/build-push-action@v6
53 with:
54 platforms:
55 - - linux/amd64
56 - - linux/arm64
57 - - linux/arm/v7
55 + - linux/amd64
56 + - linux/arm64
57 + - linux/arm/v7
58 context: .
59 push: true
60 tags: ${{ steps.meta.outputs.tags }}
61 labels: ${{ steps.meta.outputs.labels }}
62 -
.github/workflows/ci.yml
+16 -3
@@ -66,6 +66,12 @@ jobs:
66 go-version: "stable"
67 check-latest: true
68
69 + - name: Set up QEMU
70 + uses: docker/setup-qemu-action@v3
71 +
72 + - name: Set up Docker Buildx
73 + uses: docker/setup-buildx-action@v3
74 +
75 - name: Cache Go modules
76 uses: actions/cache@v3
77 with:
@@ -93,9 +99,16 @@ jobs:
99 run: make build
100
101 - name: Build Docker image
96 - run: |
97 - docker build -t relaydns:test .
98 -
102 + uses: docker/build-push-action@v6
103 + with:
104 + platforms:
105 + - linux/amd64
106 + - linux/arm64
107 + - linux/arm/v7
108 + context: .
109 + push: false
110 + tags:
111 + - portal:latest
112 # lint:
113 # name: Lint
114 # runs-on: ubuntu-latest