xref: /aosp_15_r20/external/cpu_features/bazel/ci/docker/Dockerfile (revision eca53ba6d2e951e174b64682eaf56a36b8204c89)
1*eca53ba6SRoland Levillain# Create a virtual environment with all tools installed
2*eca53ba6SRoland Levillain# ref: https://hub.docker.com/_/ubuntu
3*eca53ba6SRoland LevillainFROM ubuntu:latest AS env
4*eca53ba6SRoland Levillain
5*eca53ba6SRoland Levillain# Install system build dependencies
6*eca53ba6SRoland LevillainENV PATH=/usr/local/bin:$PATH
7*eca53ba6SRoland LevillainRUN apt-get update -qq \
8*eca53ba6SRoland Levillain&& DEBIAN_FRONTEND=noninteractive apt-get install -yq \
9*eca53ba6SRoland Levillain git wget build-essential \
10*eca53ba6SRoland Levillain&& apt-get clean \
11*eca53ba6SRoland Levillain&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
12*eca53ba6SRoland LevillainENTRYPOINT ["/usr/bin/bash", "-c"]
13*eca53ba6SRoland LevillainCMD ["/usr/bin/bash"]
14*eca53ba6SRoland Levillain
15*eca53ba6SRoland Levillain# Install Bazelisk
16*eca53ba6SRoland LevillainARG PLATFORM
17*eca53ba6SRoland LevillainRUN wget \
18*eca53ba6SRoland Levillain "https://github.com/bazelbuild/bazelisk/releases/download/v1.18.0/bazelisk-linux-${PLATFORM}" \
19*eca53ba6SRoland Levillain&& chmod +x "bazelisk-linux-${PLATFORM}" \
20*eca53ba6SRoland Levillain&& mv "bazelisk-linux-${PLATFORM}" /usr/local/bin/bazel
21*eca53ba6SRoland Levillain
22*eca53ba6SRoland LevillainFROM env AS devel
23*eca53ba6SRoland LevillainWORKDIR /home/project
24*eca53ba6SRoland LevillainCOPY . .
25*eca53ba6SRoland Levillain
26*eca53ba6SRoland LevillainFROM devel AS build
27*eca53ba6SRoland LevillainRUN bazel version
28*eca53ba6SRoland LevillainRUN bazel build \
29*eca53ba6SRoland Levillain -c opt \
30*eca53ba6SRoland Levillain --subcommands=true \
31*eca53ba6SRoland Levillain ...
32*eca53ba6SRoland Levillain
33*eca53ba6SRoland LevillainFROM build AS test
34*eca53ba6SRoland LevillainRUN bazel test \
35*eca53ba6SRoland Levillain -c opt \
36*eca53ba6SRoland Levillain --test_output=errors \
37*eca53ba6SRoland Levillain ...
38