# Create a virtual environment with all tools installed # ref: https://hub.docker.com/_/ubuntu FROM ubuntu:latest AS env # Install system build dependencies ENV PATH=/usr/local/bin:$PATH RUN apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -yq \ git wget build-essential \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ENTRYPOINT ["/usr/bin/bash", "-c"] CMD ["/usr/bin/bash"] # Install Bazelisk ARG PLATFORM RUN wget \ "https://github.com/bazelbuild/bazelisk/releases/download/v1.18.0/bazelisk-linux-${PLATFORM}" \ && chmod +x "bazelisk-linux-${PLATFORM}" \ && mv "bazelisk-linux-${PLATFORM}" /usr/local/bin/bazel FROM env AS devel WORKDIR /home/project COPY . . FROM devel AS build RUN bazel version RUN bazel build \ -c opt \ --subcommands=true \ ... FROM build AS test RUN bazel test \ -c opt \ --test_output=errors \ ...