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

Petri Latvala petri.latvala at intel.com
Wed May 29 10:51:50 UTC 2019


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>
---

Pipeline success without the first two extra patches:
https://gitlab.freedesktop.org/adrinael/igt-gpu-tools/pipelines/39284

Review-trap:

"
But Petri, surely it's better to make the normal build image depend
on the minimal one and just install the extra packages on top. This is
how you do it:

$howyoudoit
"



.gitlab-ci.yml            | 34 ++++++++++++++++++++++++++++++++++
 Dockerfile.debian-minimal | 24 ++++++++++++++++++++++++
 2 files changed, 58 insertions(+)
 create mode 100644 Dockerfile.debian-minimal

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 771143a9..e29429e0 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:
@@ -187,6 +204,23 @@ containers:igt-debian:
     - docker build -t $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian -f Dockerfile.debian .
     - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian
 
+containers:igt-debian-minimal:
+  stage: containers
+  image: docker:stable
+  only:
+    changes:
+      - Dockerfile.debian-minimal
+      - .gitlab-ci.yml
+  services:
+    - docker:dind
+  variables:
+    DOCKER_HOST: tcp://docker:2375
+    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 -f Dockerfile.debian-minimal .
+    - docker push $CI_REGISTRY/$CI_PROJECT_PATH/igt-debian-minimal
+
 containers:igt-debian-armhf:
   stage: containers
   image: docker:stable
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