diff options
Diffstat (limited to 'bazel/ci/docker/Dockerfile')
-rw-r--r-- | bazel/ci/docker/Dockerfile | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bazel/ci/docker/Dockerfile b/bazel/ci/docker/Dockerfile new file mode 100644 index 0000000..a46b493 --- /dev/null +++ b/bazel/ci/docker/Dockerfile @@ -0,0 +1,37 @@ +# 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 \ + ... |