diff options
author | Michel Dänzer <[email protected]> | 2019-11-05 18:52:24 +0100 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2019-11-12 10:17:21 +0100 |
commit | aebf43dcc11f6bcf4d02d4d4323ccf82ae29f6a3 (patch) | |
tree | 3f4128dc1a69535fd4ae60c0da9ce01aac270ebe | |
parent | 576f7b6ea52d39406df119b336396bfa41628726 (diff) |
gitlab-ci: Use separate docker images for x86 build/test jobs
Same as was done for the ARM images before.
This should make it less painful to update to newer dEQP / piglit as
well as to make changes to the build/test environment.
Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r-- | .gitlab-ci.yml | 14 | ||||
-rw-r--r-- | .gitlab-ci/debian-install.sh | 26 | ||||
-rw-r--r-- | .gitlab-ci/debian-test-install.sh | 92 |
3 files changed, 103 insertions, 29 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f4715b923f0..f3421a8358d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,13 +14,15 @@ # repository's registry will be used there as well. variables: UPSTREAM_REPO: mesa/mesa - DEBIAN_TAG: "2019-11-12" + DEBIAN_TAG: "amd64-2019-11-12" + DEBIAN_TEST_TAG: "amd64-test-2019-11-12" DEBIAN_ARM64_TAG: "arm64v8-2019-11-06" DEBIAN_ARM64_TEST_TAG: "arm64v8-test-2019-11-12" STRETCH_TAG: "2019-09-18" DEBIAN_VERSION: buster-slim STRETCH_VERSION: stretch-slim DEBIAN_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG" + DEBIAN_TEST_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TEST_TAG" DEBIAN_ARM64_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_ARM64_TAG" DEBIAN_ARM64_TEST_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_ARM64_TEST_TAG" STRETCH_IMAGE: "$CI_REGISTRY_IMAGE/debian/$STRETCH_VERSION:$STRETCH_TAG" @@ -99,6 +101,12 @@ debian-10:amd64: needs: - debian-10:amd64 +debian-10-test:amd64: + extends: debian-10:amd64 + variables: + DEBIAN_TAG: "$DEBIAN_TEST_TAG" + DEBIAN_EXEC: 'bash .gitlab-ci/debian-test-install.sh' + debian-9:amd64: extends: debian-10:amd64 variables: @@ -447,7 +455,7 @@ scons-old-llvm: .test: extends: - .ci-run-policy - - .use-debian-10:amd64 + image: $DEBIAN_TEST_IMAGE stage: test variables: GIT_STRATEGY: none # testing doesn't build anything from source @@ -465,7 +473,7 @@ scons-old-llvm: - meson-main needs: - meson-main - - debian-10:amd64 + - debian-10-test:amd64 .piglit-test: extends: .test diff --git a/.gitlab-ci/debian-install.sh b/.gitlab-ci/debian-install.sh index 210f6ba78b1..80a36508c8c 100644 --- a/.gitlab-ci/debian-install.sh +++ b/.gitlab-ci/debian-install.sh @@ -34,7 +34,6 @@ apt-get install -y --no-remove \ automake \ autotools-dev \ bison \ - bzip2 \ clang-8 \ cmake \ flex \ @@ -46,19 +45,15 @@ apt-get install -y --no-remove \ libclang-7-dev \ libclang-8-dev \ libclc-dev \ - libegl1-mesa-dev \ libelf-dev \ libepoxy-dev \ libexpat1-dev \ libgbm-dev \ - libgles2-mesa-dev \ libgtk-3-dev \ libomxil-bellagio-dev \ - libpng-dev \ libtool \ libunwind-dev \ libvulkan-dev \ - libwaffle-dev \ libx11-dev \ libx11-xcb-dev \ libxdamage-dev \ @@ -73,13 +68,8 @@ apt-get install -y --no-remove \ pkg-config \ python-mako \ python3-mako \ - python3-numpy \ - python3-six \ scons \ - waffle-utils \ x11proto-gl-dev \ - xauth \ - xvfb \ xz-utils \ zlib1g-dev @@ -246,20 +236,6 @@ for arch in $CROSS_ARCHITECTURES; do fi done -############### Build piglit - -git clone https://gitlab.freedesktop.org/mesa/piglit.git --single-branch --no-checkout /piglit -cd /piglit -git checkout 7a92b02210dabbba31ae5fd71272ea742346a9c8 -patch -p1 <$OLDPWD/.gitlab-ci/piglit/disable-vs_in.diff -cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -ninja -j4 -rm -rf .git .ninja* *.ninja **/CMake* **/cmake* ninja.* **/*.[chao] target_api - -############### Build dEQP - -. .gitlab-ci/build-deqp.sh - ############### Uninstall the build software @@ -270,9 +246,7 @@ apt-get purge -y \ cmake \ git \ libgbm-dev \ - libgles2-mesa-dev \ libtool \ - libwaffle-dev \ unzip \ wget \ x11proto-gl-dev diff --git a/.gitlab-ci/debian-test-install.sh b/.gitlab-ci/debian-test-install.sh new file mode 100644 index 00000000000..4af73993519 --- /dev/null +++ b/.gitlab-ci/debian-test-install.sh @@ -0,0 +1,92 @@ +#!/bin/bash + +set -e +set -o xtrace + +export DEBIAN_FRONTEND=noninteractive + +apt-get install -y ca-certificates + +sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list +echo 'deb https://deb.debian.org/debian buster-backports main' >/etc/apt/sources.list.d/backports.list + +apt-get update + +# Use newer packages from backports by default +cat >/etc/apt/preferences <<EOF +Package: * +Pin: release a=buster-backports +Pin-Priority: 500 +EOF + +apt-get dist-upgrade -y + +apt-get install -y --no-remove \ + cmake \ + g++ \ + git \ + gcc \ + libexpat1 \ + libgbm-dev \ + libgles2-mesa-dev \ + libpng16-16 \ + libpng-dev \ + libvulkan1 \ + libwaffle-dev \ + libwayland-server0 \ + libxcb-xfixes0 \ + libxkbcommon0 \ + libxkbcommon-dev \ + libxrender1 \ + libxrender-dev \ + meson \ + patch \ + pkg-config \ + python3-mako \ + python3-numpy \ + python3-six \ + python \ + waffle-utils \ + xauth \ + xvfb \ + zlib1g + + +############### Build piglit + +git clone https://gitlab.freedesktop.org/mesa/piglit.git --single-branch --no-checkout /piglit +pushd /piglit +git checkout 7a92b02210dabbba31ae5fd71272ea742346a9c8 +patch -p1 <$OLDPWD/.gitlab-ci/piglit/disable-vs_in.diff +cmake -G Ninja -DCMAKE_BUILD_TYPE=Release +ninja -j4 +find -name .git -o -name '*ninja*' -o -iname '*cmake*' -o -name '*.[chao]' | xargs rm -rf +rm -rf target_api +popd + + +############### Build dEQP + +. .gitlab-ci/build-deqp.sh + + +############### Uninstall the build software + +apt-get purge -y \ + cmake \ + g++ \ + gcc \ + git \ + libc6-dev \ + libgbm-dev \ + libgles2-mesa-dev \ + libpng-dev \ + libwaffle-dev \ + libxkbcommon-dev \ + libxrender-dev \ + meson \ + patch \ + pkg-config \ + python + +apt-get autoremove -y --purge |