-
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathDockerfile
30 lines (25 loc) · 908 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# syntax=docker/dockerfile:1
FROM --platform=$BUILDPLATFORM crazymax/goxx:latest AS goxx
FROM --platform=$BUILDPLATFORM crazymax/osxcross:11.3 AS osxcross
FROM goxx AS base
COPY --from=osxcross /osxcross /osxcross
ENV GO111MODULE=auto
ENV CGO_ENABLED=1
WORKDIR /src
FROM base AS build
COPY --from=osxcross /osxcross /osxcross
ARG TARGETPLATFORM
RUN --mount=type=cache,sharing=private,target=/var/cache/apt \
--mount=type=cache,sharing=private,target=/var/lib/apt/lists \
goxx-apt-get install -y binutils gcc g++ pkg-config libjq-dev libonig-dev
RUN goxx-macports --static install jq
ENV OSXCROSS_MP_INC=1
RUN --mount=type=bind,source=.,rw \
--mount=type=cache,target=/root/.cache \
--mount=type=cache,target=/go/pkg/mod \
goxx-go env && goxx-go build -v -o /out/jq-xx .
FROM scratch AS artifact
COPY --from=build /out /
FROM scratch
COPY --from=build /out/jq-xx /jq-xx
ENTRYPOINT [ "/jq-xx" ]