mirror of
https://github.com/vmware-tanzu/pinniped.git
synced 2026-04-15 07:06:45 +00:00
28 lines
1.2 KiB
Docker
28 lines
1.2 KiB
Docker
# syntax = docker/dockerfile:experimental
|
|
|
|
# Copyright 2020-2024 the Pinniped contributors. All Rights Reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
# Using bullseye (debian 11) until google/cloud-sdk starts using bookworm (debian 12) because the
|
|
# test binaries built by this dockerfile are run in a container built by dockerfiles/integration-test-runner/Dockerfile
|
|
# which uses google/cloud-sdk as the base image. Mismatching debian versions causes the pinniped-integration-test
|
|
# built below to error upon execution complaining that the expected version of GLIBC is not found.
|
|
FROM golang:1.23.4-bullseye as build-env
|
|
WORKDIR /work
|
|
COPY . .
|
|
ARG GOPROXY
|
|
RUN \
|
|
--mount=type=cache,target=/cache/gocache \
|
|
--mount=type=cache,target=/cache/gomodcache \
|
|
mkdir out && \
|
|
export GOCACHE=/cache/gocache && \
|
|
export GOMODCACHE=/cache/gomodcache && \
|
|
export GOOS=linux && \
|
|
export GOARCH=amd64 && \
|
|
CGO_ENABLED=0 go build -v -ldflags "$(hack/get-ldflags.sh)" -o out/pinniped ./cmd/pinniped/main.go && \
|
|
CGO_ENABLED=1 go test -c -vet=off -race ./test/integration -o out/pinniped-integration-test # need cgo for race detector
|
|
|
|
FROM scratch
|
|
COPY --from=build-env /work/out/ /usr/local/bin/
|