diff --git a/Dockerfile b/Dockerfile index 3ffd8e1..ea63b72 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,16 @@ +FROM --platform=$BUILDPLATFORM tonistiigi/xx AS xx + FROM --platform=$BUILDPLATFORM golang:1.21-alpine AS build LABEL authors="kbruen" LABEL org.opencontainers.image.source=https://github.com/dancojocaru2000/CfrTrainInfoTelegramBot +RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories +RUN apk add zig@testing +COPY --from=xx / / +ARG TARGETPLATFORM +ENV CGO_ENABLED=1 + WORKDIR /app COPY go.mod . @@ -11,8 +19,9 @@ RUN go mod download COPY main.go ./ COPY pkg ./pkg/ -ARG TARGETOS TARGETARCH -RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o server +ARG TARGETOS +ARG TARGETARCH +RUN GOOS=$TARGETOS GOARCH=$TARGETARCH CGO_CFLAGS="-D_LARGEFILE64_SOURCE" CC="zig cc -target $(xx-info march)-$(xx-info os)-$(xx-info libc)" CXX="zig c++ -target $(xx-info march)-$(xx-info os)-$(xx-info libc)" go build -o server && xx-verify server FROM scratch COPY --from=build /etc/ssl/certs /etc/ssl/certs