mirror of
https://github.com/PrivateCaptcha/PrivateCaptcha.git
synced 2026-02-09 07:19:08 -06:00
28 lines
995 B
Docker
28 lines
995 B
Docker
FROM golang:1.24.4 AS tests-builder
|
|
|
|
COPY . /app/
|
|
|
|
WORKDIR /app
|
|
|
|
RUN mkdir bin
|
|
|
|
ENV GOMODCACHE=/cache/gomod
|
|
ENV GOCACHE=/cache/gobuild
|
|
|
|
ARG GIT_COMMIT=HEAD
|
|
ARG EXTRA_BUILD_FLAGS=
|
|
ARG GO_LDFLAGS="-s -w"
|
|
RUN --mount=type=cache,target=/cache/gomod --mount=type=cache,target=/cache/gobuild,sharing=locked env GOFLAGS="-mod=vendor" CGO_ENABLED=0 go build -C cmd/server -ldflags="${GO_LDFLAGS} -X main.GitCommit=${GIT_COMMIT}" ${EXTRA_BUILD_FLAGS} -o ../../bin/server
|
|
|
|
RUN --mount=type=cache,target=/cache/gomod --mount=type=cache,target=/cache/gobuild,sharing=locked env GOFLAGS="-mod=vendor" CGO_ENABLED=0 go test -c -cover -covermode=atomic ${EXTRA_BUILD_FLAGS} -o tests/ $(go list ${EXTRA_BUILD_FLAGS} -f '{{if .TestGoFiles}}{{.ImportPath}}{{end}}' ./...)
|
|
|
|
FROM debian:stable-slim
|
|
|
|
COPY --from=tests-builder /app/bin/server /app/bin/server
|
|
COPY --from=tests-builder /app/tests /app/tests
|
|
COPY --from=tests-builder /app/docker /app/docker
|
|
|
|
WORKDIR /app
|
|
|
|
CMD ["/bin/sh", "/app/docker/run-tests.sh"]
|