ARG GO_VERSION=1.18.8 # Use Debian based image as docker-compose requires glibc. FROM golang:${GO_VERSION}-buster RUN apt-get update && apt-get install -y \ build-essential \ curl \ openssl \ openssh-client \ && rm -rf /var/lib/apt/lists/* ARG COMPOSE_VERSION=1.29.2 RUN curl -fsSL https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose \ && chmod +x /usr/local/bin/docker-compose ARG NOTARY_VERSION=v0.6.1 RUN curl -fsSL https://github.com/theupdateframework/notary/releases/download/${NOTARY_VERSION}/notary-Linux-amd64 -o /usr/local/bin/notary \ && chmod +x /usr/local/bin/notary ARG GOTESTSUM_VERSION=0.4.0 RUN curl -fsSL https://github.com/gotestyourself/gotestsum/releases/download/v${GOTESTSUM_VERSION}/gotestsum_${GOTESTSUM_VERSION}_linux_amd64.tar.gz -o gotestsum.tar.gz \ && tar -xf gotestsum.tar.gz gotestsum \ && mv gotestsum /usr/local/bin/gotestsum \ && rm gotestsum.tar.gz ENV CGO_ENABLED=0 \ DISABLE_WARN_OUTSIDE_CONTAINER=1 \ PATH=/go/src/github.com/docker/cli/build:$PATH WORKDIR /go/src/github.com/docker/cli # Trust notary CA cert. COPY e2e/testdata/notary/root-ca.cert /usr/share/ca-certificates/notary.cert RUN echo 'notary.cert' >> /etc/ca-certificates.conf && update-ca-certificates COPY . . ARG VERSION ARG GITCOMMIT ENV VERSION=${VERSION} ENV GITCOMMIT=${GITCOMMIT} ENV DOCKER_BUILDKIT=1 RUN ./scripts/build/binary RUN ./scripts/build/plugins e2e/cli-plugins/plugins/* CMD ./scripts/test/e2e/entry