41 строка
1.5 KiB
Docker
41 строка
1.5 KiB
Docker
# This Docker container is used for testing on GCB.
|
|
ARG GOVERSION=1
|
|
FROM golang:${GOVERSION} AS gobuilder
|
|
|
|
ENV GOBIN /gobin
|
|
|
|
# Install other Go tools tests depend on
|
|
RUN mkdir -p /scratch/installtools
|
|
ADD extension/tools/installtools/main.go /scratch/installtools/main.go
|
|
RUN go run /scratch/installtools/main.go
|
|
|
|
FROM node:latest
|
|
|
|
# GO111MODULE=auto
|
|
RUN mkdir /go
|
|
COPY --from=gobuilder /gobin /go/bin
|
|
COPY --from=gobuilder /usr/local/go /usr/local/go
|
|
|
|
# Add the default GOPATH/bin to the PATH.
|
|
# Add the directories of the go tool chains to PATH.
|
|
ENV PATH /go/bin:/usr/local/go/bin:${PATH}
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
# Force npm to prefer ipv4 - the vm we are using doesn't yet support ipv6.
|
|
# TODO(hyangah): remove this when the platform works with ipv6.
|
|
ENV NODE_OPTIONS --dns-result-order=ipv4first
|
|
|
|
# Install xvfb jq
|
|
RUN apt-get -qq update && apt-get install -qq -y libnss3 libgtk-3-dev libxss1 libasound2 xvfb libsecret-1-0 jq > /dev/null
|
|
|
|
# Install gh https://stackoverflow.com/a/69477930
|
|
RUN apt update && apt install -y \
|
|
curl \
|
|
gpg
|
|
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg;
|
|
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null;
|
|
RUN apt update && apt install -y gh;
|
|
|
|
USER node
|
|
WORKDIR /workspace
|
|
ENTRYPOINT ["build/all.bash"] |