Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(taiko-client): try cross-compile taiko-client to speed up docker building #18171

Merged
merged 15 commits into from
Sep 25, 2024
6 changes: 3 additions & 3 deletions .github/workflows/taiko-client--docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
mask-pp marked this conversation as resolved.
Show resolved Hide resolved
platforms: linux/arm64,linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
14 changes: 10 additions & 4 deletions packages/taiko-client/Dockerfile
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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

Expand Down
Loading