1
- # syntax = docker/dockerfile-upstream:1.2.0 -labs
1
+ # syntax = docker/dockerfile-upstream:1.14.1 -labs
2
2
3
3
# Meta args applied to stage base names.
4
4
@@ -14,21 +14,19 @@ FROM ghcr.io/siderolabs/fhs:${PKGS} AS pkg-fhs
14
14
# code
15
15
16
16
FROM --platform=${BUILDPLATFORM} ${TOOLS} AS build
17
- SHELL ["/toolchain/bin/bash" , "-c" ]
18
- ARG CGO_ENABLED
19
- ENV PATH /toolchain/bin:/toolchain/go/bin:/go/bin
20
- RUN ["/toolchain/bin/mkdir" , "/bin" , "/tmp" ]
21
- RUN ["/toolchain/bin/ln" , "-svf" , "/toolchain/bin/bash" , "/bin/sh" ]
22
- RUN ["/toolchain/bin/ln" , "-svf" , "/toolchain/etc/ssl" , "/etc/ssl" ]
23
- ENV GO111MODULE on
24
- ENV GOPROXY https://proxy.golang.org
25
- ENV GOCACHE /.cache/go-build
26
- ENV GOMODCACHE /.cache/mod
27
- ENV GOTOOLCHAIN local
17
+ ENV GOTOOLCHAIN=local
18
+ ENV CGO_ENABLED=0
19
+ ENV GO111MODULE=on
20
+ ENV GOPROXY=https://proxy.golang.org
21
+ ENV GOCACHE=/.cache/go-build
22
+ ENV GOMODCACHE=/.cache/mod
23
+ SHELL ["/bin/bash" , "-c" ]
28
24
ARG CONTROLLER_GEN_VERSION
29
25
ARG CONVERSION_GEN_VERSION
30
- RUN --mount=type=cache,target=/.cache go install sigs.k8s.io/controller-tools/cmd/controller-gen@${CONTROLLER_GEN_VERSION}
31
- RUN --mount=type=cache,target=/.cache go install k8s.io/code-generator/cmd/conversion-gen@${CONVERSION_GEN_VERSION}
26
+ RUN --mount=type=cache,target=/.cache go install sigs.k8s.io/controller-tools/cmd/controller-gen@${CONTROLLER_GEN_VERSION} \
27
+ && mv /root/go/bin/controller-gen /usr/bin/controller-gen
28
+ RUN --mount=type=cache,target=/.cache go install k8s.io/code-generator/cmd/conversion-gen@${CONVERSION_GEN_VERSION} \
29
+ && mv /root/go/bin/conversion-gen /usr/bin/conversion-gen
32
30
WORKDIR /src
33
31
COPY ./go.mod ./
34
32
COPY ./go.sum ./
@@ -53,12 +51,12 @@ COPY --from=generate-build /src/api /api
53
51
# runs unit-tests
54
52
FROM build AS unit-tests-run
55
53
ARG TESTPKGS
56
- RUN --mount=type=cache,target=/root/.cache/go-build --mount=type=cache,target=/go/pkg --mount=type=cache,target=/tmp go test -v -covermode=atomic -coverprofile=coverage.txt -coverpkg=${TESTPKGS} -count 1 ${TESTPKGS}
54
+ RUN --mount=type=cache,target=/root/.cache --mount=type=cache,target=/tmp go test -v -covermode=atomic -coverprofile=coverage.txt -coverpkg=${TESTPKGS} -count 1 ${TESTPKGS}
57
55
58
56
FROM scratch AS unit-tests
59
57
COPY --from=unit-tests-run /src/coverage.txt /coverage.txt
60
58
61
- FROM --platform=${BUILDPLATFORM} alpine:3.13 AS release-build
59
+ FROM --platform=${BUILDPLATFORM} alpine:3.21 AS release-build
62
60
ADD https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv4.1.0/kustomize_v4.1.0_linux_amd64.tar.gz .
63
61
RUN tar -xf kustomize_v4.1.0_linux_amd64.tar.gz -C /usr/local/bin && rm kustomize_v4.1.0_linux_amd64.tar.gz
64
62
COPY ./config ./config
0 commit comments