diff options
author | Corentin Le Molgat <corentinl@google.com> | 2021-10-25 16:06:43 +0200 |
---|---|---|
committer | Mizux <mizux.dev@gmail.com> | 2021-10-28 16:24:54 +0200 |
commit | ccc3a51e4cdbc7c34ce461829b8983e2ee010f5b (patch) | |
tree | e8a65644a84c3631ab9edcd04d83d9eeb56c2775 /ci/docker/toolchain/Dockerfile | |
parent | ca84b91d34e626918857d21cf203baddd507df53 (diff) | |
download | cpu_features-ccc3a51e4cdbc7c34ce461829b8983e2ee010f5b.tar.gz |
ci: Add docker based test framework
* Add documentation
* Add .dockerignore: minimize docker context size to improve speed
* Add Makefile: to easily run various docker stages
* Add a CMake sample project to check CMake install rules
Diffstat (limited to 'ci/docker/toolchain/Dockerfile')
-rw-r--r-- | ci/docker/toolchain/Dockerfile | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ci/docker/toolchain/Dockerfile b/ci/docker/toolchain/Dockerfile new file mode 100644 index 0000000..1bf25ed --- /dev/null +++ b/ci/docker/toolchain/Dockerfile @@ -0,0 +1,34 @@ +# Create a virtual environment with all tools installed +# ref: https://hub.docker.com/_/ubuntu +FROM ubuntu:latest AS env +LABEL maintainer="corentinl@google.com" +# Install system build dependencies +ENV PATH=/usr/local/bin:$PATH +RUN apt-get update -qq \ +&& DEBIAN_FRONTEND=noninteractive apt-get install -yq git wget libssl-dev build-essential \ + ninja-build python3 pkgconf libglib2.0-dev \ +&& apt-get clean \ +&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* +ENTRYPOINT ["/usr/bin/bash", "-c"] +CMD ["/usr/bin/bash"] + +# Install CMake 3.21.3 +RUN wget "https://cmake.org/files/v3.21/cmake-3.21.3-linux-x86_64.sh" \ +&& chmod a+x cmake-3.21.3-linux-x86_64.sh \ +&& ./cmake-3.21.3-linux-x86_64.sh --prefix=/usr/local/ --skip-license \ +&& rm cmake-3.21.3-linux-x86_64.sh + +FROM env AS devel +WORKDIR /home/project +COPY . . + +ARG TARGET +ENV TARGET ${TARGET:-unknown} + +FROM devel AS build +RUN cmake -version +RUN ./scripts/run_integration.sh build + +FROM build AS test +RUN ./scripts/run_integration.sh qemu +RUN ./scripts/run_integration.sh test |