diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d609f8d..04269f2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,7 +71,7 @@ jobs: name: run tests uses: okdp/gh-workflows/.github/workflows/makefile-run-template.yml@v1 with: - go_version: "1.23" + go_version: "1.24" command: "make test" docker_test: diff --git a/Dockerfile b/Dockerfile index 97aad21..e655c1b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,10 +18,9 @@ ARG GO_VERSION=1.24 FROM golang:${GO_VERSION} AS go-build -ARG GIT_COMMIT="_unset_" -ARG LDFLAGS="-X localbuild=true" -ARG TARGETOS="linux" +ARG TARGETOS ARG TARGETARCH +ARG GO_LICENSES_VERSION=v2.0.1 WORKDIR /workspace/spark-web-proxy @@ -30,19 +29,26 @@ COPY go.* ./ COPY *.go ./ COPY internal/ internal/ COPY cmd/ cmd/ +COPY LICENSE ./ -RUN go mod tidy \ - && go mod download -RUN --mount=type=cache,target=/root/.cache/go-build \ - --mount=type=cache,target=/go/pkg \ - LDFLAGS=${LDFLAGS##-X localbuild=true} GIT_COMMIT=$GIT_COMMIT \ - CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -a -o spark-web-proxy main.go +RUN go mod download + +RUN go install github.com/google/go-licenses/v2@${GO_LICENSES_VERSION} + +RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH \ + go build -a -o spark-web-proxy main.go + +RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH \ + go-licenses save ./... --save_path=/LICENSES FROM alpine:3.23.2 -RUN apk --no-cache add ca-certificates && update-ca-certificates +RUN apk --no-cache upgrade && \ + apk --no-cache add ca-certificates && \ + update-ca-certificates COPY --from=go-build /workspace/spark-web-proxy /usr/local/bin/ +COPY --from=go-build /LICENSES/* /LICENSES/ USER 65534:65534