diff --git a/.github/workflows/taiko-client--docker.yml b/.github/workflows/taiko-client--docker.yml index 8b5ed921889..ece6656bccb 100644 --- a/.github/workflows/taiko-client--docker.yml +++ b/.github/workflows/taiko-client--docker.yml @@ -31,7 +31,7 @@ jobs: uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Docker meta id: meta @@ -46,11 +46,11 @@ jobs: type=sha - name: Build and push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . file: packages/taiko-client/Dockerfile - platforms: linux/amd64,linux/arm64 + platforms: linux/arm64,linux/amd64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/packages/taiko-client/Dockerfile b/packages/taiko-client/Dockerfile index 45004845b22..dea1333dcef 100644 --- a/packages/taiko-client/Dockerfile +++ b/packages/taiko-client/Dockerfile @@ -1,6 +1,8 @@ -FROM golang:1.21-alpine as builder +FROM --platform=$BUILDPLATFORM golang:1.21 AS builder +ARG TARGETOS +ARG TARGETARCH -RUN apk update && apk add --no-cache --update gcc musl-dev linux-headers git make build-base +RUN apt-get update && apt-get install -y git make g++-x86-64-linux-gnu libc6-dev-amd64-cross WORKDIR /build @@ -9,8 +11,12 @@ COPY go.mod go.sum ./ COPY packages/taiko-client/ packages/taiko-client/ WORKDIR /build/packages/taiko-client - -RUN make build +RUN echo "TARGETOS=${TARGETOS}, TARGETARCH=${TARGETARCH}" && \ + if [ "$TARGETARCH" = "amd64" ]; then \ + CGO_ENABLED=1 CC=x86_64-linux-gnu-gcc GOOS=${TARGETOS} GOARCH=${TARGETARCH} make build; \ + else \ + make build; \ + fi FROM alpine:latest