diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index a6e7d19..8524429 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -17,11 +17,13 @@ concurrency: jobs: docker: - runs-on: cluster-runner + runs-on: ubuntu-latest permissions: contents: read steps: + - uses: actions/checkout@v6 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -59,9 +61,7 @@ jobs: uses: docker/build-push-action@v6 with: push: true - platforms: | - linux/amd64 - linux/arm64/v8 + platforms: linux/amd64,linux/arm64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha diff --git a/Dockerfile b/Dockerfile index 2c45741..56dfd25 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,9 @@ # syntax=docker/dockerfile:1 -FROM golang:1.24.3-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.24.3-alpine AS builder + +ARG TARGETOS +ARG TARGETARCH WORKDIR /build @@ -8,9 +11,10 @@ ADD . /build/ RUN mkdir /out -RUN --mount=type=cache,target=/root/.cache/go-build --mount=type=cache,target=/go/pkg/mod/ go build -o /out/service ./cmd +RUN --mount=type=cache,target=/root/.cache/go-build --mount=type=cache,target=/go/pkg/mod/ \ + GOOS=${TARGETOS} GOARCH=${TARGETARCH} CGO_ENABLED=0 go build -o /out/service ./cmd -FROM alpine +FROM --platform=$TARGETPLATFORM alpine RUN apk add --no-cache ca-certificates