stagex/packages/tflint/Containerfile
2024-10-08 19:47:20 -04:00

35 lines
920 B
Docker

FROM scratch AS base
ENV VERSION=0.53.0
ENV SRC_HASH=22dd4644dd249b38b8cbb29bd4ca66aefa65a2d9dc38109a3ca5b428a4ba755b
ENV SRC_FILE=v${VERSION}.tar.gz
ENV SRC_SITE=https://github.com/terraform-linters/tflint/archive/refs/tags/${SRC_FILE}
ENV GOPATH=/cache/go
ENV GOCACHE=/cache/
ENV GOWORK=off
ENV GOPROXY=https://proxy.golang.org,direct
ENV GOSUMDB=sum.golang.org
ENV CGO_ENABLED=0
ENV GOHOSTOS=linux
ENV GOHOSTARCH=amd64
ENV GO11MODULE=on
FROM base AS fetch
COPY --from=stagex/busybox . /
COPY --from=stagex/go . /
COPY --from=stagex/ca-certificates . /
ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} .
RUN tar -xvf ${SRC_FILE}
WORKDIR /tflint-${VERSION}
RUN go get ./...
FROM fetch AS build
RUN --network=none go build -o out/tflint -v -trimpath
FROM build AS install
RUN <<-EOF
mkdir -p /rootfs/usr/bin/
cp out/tflint /rootfs/usr/bin/
EOF
FROM stagex/filesystem AS package
COPY --from=install /rootfs/./ /