[igt-dev] [PATCH i-g-t v3] gitlab-CI: Do a build-test without any optional dependencies installed

Petri Latvala petri.latvala at intel.com
Mon Jun 3 11:59:43 UTC 2019


The meson command line has -Dbuild_tests=disabled -Dwith_libdrm=""
because those aren't trivial to make automatic. Plain libdrm is also
required, but the libdrm_vendor ones are all optional so for now those
are just explicitly disabled. Otherwise this tests that the automated
machinery is able to figure out what can be built.

v2 (Simon): Base the debian docker image on the debian-minimal image

v3: Make the empty argument to with_libdrm more explicit and apparent (Arek)

Signed-off-by: Petri Latvala <petri.latvala at intel.com>
Cc: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
Cc: Simon Ser <simon.ser at intel.com>
---
 .gitlab-ci.yml            | 20 ++++++++++++++++++++
 Dockerfile.debian         | 20 +-------------------
 Dockerfile.debian-minimal | 24 ++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 19 deletions(-)
 create mode 100644 Dockerfile.debian-minimal

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 771143a9..893dc988 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -68,6 +68,16 @@ build:tests-debian-meson:
     paths:
       - meson-test-list.txt
 
+build:tests-debian-minimal:
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-minimal:latest
+  stage: build
+  script:
+    - meson -Dbuild_tests=disabled -Dwith_libdrm="" build
+    - ninja -C build
+  artifacts:
+    paths:
+      - build
+
 build:tests-debian-meson-armhf:
   image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-armhf:latest
   stage: build
@@ -117,6 +127,13 @@ test:ninja-test-clang:
   stage: test
   script: ninja -C build test
 
+test:ninja-test-minimal:
+  image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-minimal:latest
+  dependencies:
+    - build:tests-debian-minimal
+  stage: test
+  script: ninja -C build test
+
 test:ninja-test-arm64:
   image: $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-arm64:latest
   dependencies:
@@ -175,6 +192,7 @@ containers:igt-debian:
   image: docker:stable
   only:
     changes:
+      - Dockerfile.debian-minimal
       - Dockerfile.debian
       - .gitlab-ci.yml
   services:
@@ -184,7 +202,9 @@ containers:igt-debian:
     DOCKER_DRIVER: overlay2
   script:
     - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+    - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-minimal -t igt-debian-minimal -f Dockerfile.debian-minimal .
     - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian -f Dockerfile.debian .
+    - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-minimal
     - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian
 
 containers:igt-debian-armhf:
diff --git a/Dockerfile.debian b/Dockerfile.debian
index b9c3be39..717630e1 100644
--- a/Dockerfile.debian
+++ b/Dockerfile.debian
@@ -1,36 +1,18 @@
-FROM debian:stretch-backports
+FROM igt-debian-minimal
 
 RUN apt-get update
 RUN apt-get install -y \
-			gcc \
-			flex \
-			bison \
-			pkg-config \
-			libpciaccess-dev \
-			libkmod-dev \
-			libprocps-dev \
 			libunwind-dev \
-			libdw-dev \
-			zlib1g-dev \
-			liblzma-dev \
-			libcairo-dev \
-			libpixman-1-dev \
-			libudev-dev \
 			libgsl-dev \
 			libasound2-dev \
 			libxmlrpc-core-c3-dev \
 			libjson-c-dev \
 			libcurl4-openssl-dev \
-			libxrandr-dev \
-			libxv-dev \
-			x11proto-dri2-dev \
 			python-docutils \
 			valgrind \
 			peg
 
 RUN apt-get install -t stretch-backports -y \
-					meson \
-					libdrm-dev \
 					libdrm-intel1
 
 # autotools build deps
diff --git a/Dockerfile.debian-minimal b/Dockerfile.debian-minimal
new file mode 100644
index 00000000..bbe70bed
--- /dev/null
+++ b/Dockerfile.debian-minimal
@@ -0,0 +1,24 @@
+FROM debian:stretch-backports
+
+RUN apt-get update
+RUN apt-get install -y \
+			gcc \
+			flex \
+			bison \
+			pkg-config \
+			libpciaccess-dev \
+			libkmod-dev \
+			libprocps-dev \
+			libdw-dev \
+			zlib1g-dev \
+			liblzma-dev \
+			libcairo-dev \
+			libpixman-1-dev \
+			libudev-dev \
+			libxrandr-dev \
+			libxv-dev \
+			x11proto-dri2-dev
+
+RUN apt-get install -t stretch-backports -y \
+					meson \
+					libdrm-dev
-- 
2.19.1



More information about the igt-dev mailing list