Module: Mesa
Branch: master
Commit: 654bfb001215859974af995b03c179da7218a883
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=654bfb001215859974af995b03c179da7218a883

Author: Andres Gomez <[email protected]>
Date:   Thu Aug 27 22:18:17 2020 +0300

ci: build piglit inside baremetal and LAVA's rootfs

v2:
  - Updated the ci-fairy commit to use.

Signed-off-by: Andres Gomez <[email protected]>
Reviewed-by: Tomeu Vizoso <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6388>

---

 .gitlab-ci.yml                          |  4 ++--
 .gitlab-ci/bare-metal/rootfs-setup.sh   | 12 +++++++++++
 .gitlab-ci/build-piglit.sh              |  2 +-
 .gitlab-ci/container/arm64_test.sh      |  3 +++
 .gitlab-ci/container/baremetal_build.sh |  2 ++
 .gitlab-ci/container/lava_build.sh      | 35 +++++++++++++++++++++++++++------
 .gitlab-ci/create-rootfs.sh             | 33 +++++++++++++++++++++++++++++--
 .gitlab-ci/lava-gitlab-ci.yml           |  4 +++-
 8 files changed, 83 insertions(+), 12 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cb75a811399..6a15769b38c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -408,7 +408,7 @@ arm64_test:
   extends:
     - .use-arm_test-base
   variables:
-    MESA_IMAGE_TAG: &arm64_test "2020-12-18-lava"
+    MESA_IMAGE_TAG: &arm64_test "2020-12-19-build-piglit"
 
 .use-arm64_test:
   variables:
@@ -422,7 +422,7 @@ armhf_test:
   extends:
     - .use-arm_test-base
   variables:
-    MESA_IMAGE_TAG: &armhf_test "2020-12-18-lava"
+    MESA_IMAGE_TAG: &armhf_test "2020-12-19-build-piglit"
 
 .use-armhf_test:
   variables:
diff --git a/.gitlab-ci/bare-metal/rootfs-setup.sh 
b/.gitlab-ci/bare-metal/rootfs-setup.sh
index 26fcfe1833e..d6a6d6f21fc 100644
--- a/.gitlab-ci/bare-metal/rootfs-setup.sh
+++ b/.gitlab-ci/bare-metal/rootfs-setup.sh
@@ -28,6 +28,7 @@ for var in \
     CI_PIPELINE_ID \
     CI_PROJECT_PATH \
     CI_RUNNER_DESCRIPTION \
+    CI_SERVER_URL \
     DEQP_CASELIST_FILTER \
     DEQP_CONFIG \
     DEQP_EXPECTED_RENDERER \
@@ -48,7 +49,18 @@ for var in \
     MESA_GL_VERSION_OVERRIDE \
     MESA_GLSL_VERSION_OVERRIDE \
     MESA_GLES_VERSION_OVERRIDE \
+    MINIO_HOST \
     NIR_VALIDATE \
+    PIGLIT_HTML_SUMMARY \
+    PIGLIT_JUNIT_RESULTS \
+    PIGLIT_PROFILES \
+    PIGLIT_REPLAY_ARTIFACTS_BASE_URL \
+    PIGLIT_REPLAY_DESCRIPTION_FILE \
+    PIGLIT_REPLAY_DEVICE_NAME \
+    PIGLIT_REPLAY_EXTRA_ARGS \
+    PIGLIT_REPLAY_REFERENCE_IMAGES_BASE_URL \
+    PIGLIT_REPLAY_UPLOAD_TO_MINIO \
+    PIGLIT_RESULTS \
     TRACIE_NO_UNIT_TESTS \
     TRACIE_UPLOAD_TO_MINIO \
     TU_DEBUG \
diff --git a/.gitlab-ci/build-piglit.sh b/.gitlab-ci/build-piglit.sh
index d3e958e71de..99e09913ca6 100644
--- a/.gitlab-ci/build-piglit.sh
+++ b/.gitlab-ci/build-piglit.sh
@@ -10,7 +10,7 @@ git clone https://gitlab.freedesktop.org/mesa/piglit.git 
--single-branch --no-ch
 pushd /piglit
 git checkout c702d2bbf28b01a18ce613f386a4ffef03f6c0c9
 patch -p1 <$OLDPWD/.gitlab-ci/piglit/disable-vs_in.diff
-cmake -S . -B . -G Ninja -DCMAKE_BUILD_TYPE=Release $PIGLIT_OPTS
+cmake -S . -B . -G Ninja -DCMAKE_BUILD_TYPE=Release $PIGLIT_OPTS 
$EXTRA_CMAKE_ARGS
 ninja $PIGLIT_BUILD_TARGETS
 find -name .git -o -name '*ninja*' -o -iname '*cmake*' -o -name '*.[chao]' | 
xargs rm -rf
 rm -rf target_api
diff --git a/.gitlab-ci/container/arm64_test.sh 
b/.gitlab-ci/container/arm64_test.sh
index 98e3b4ab0b0..18f4e674d79 100644
--- a/.gitlab-ci/container/arm64_test.sh
+++ b/.gitlab-ci/container/arm64_test.sh
@@ -2,4 +2,7 @@
 
 arch=arm64
 
+INCLUDE_PIGLIT=1
+PIGLIT_BUILD_TARGETS="piglit_replayer"
+
 . .gitlab-ci/container/baremetal_build.sh
diff --git a/.gitlab-ci/container/baremetal_build.sh 
b/.gitlab-ci/container/baremetal_build.sh
index f6d87beb3d1..b477b51cca0 100644
--- a/.gitlab-ci/container/baremetal_build.sh
+++ b/.gitlab-ci/container/baremetal_build.sh
@@ -29,7 +29,9 @@ BAREMETAL_EPHEMERAL=" \
         libstdc++6:$arch \
         libtinfo-dev:$arch \
         libvulkan-dev:$arch \
+        libwaffle-dev:$arch \
         libxcb-keysyms1-dev:$arch \
+        libxkbcommon-dev:$arch \
         python3-dev \
         qt5-default \
         qt5-qmake \
diff --git a/.gitlab-ci/container/lava_build.sh 
b/.gitlab-ci/container/lava_build.sh
index 62c0bcd1c43..693cb924808 100755
--- a/.gitlab-ci/container/lava_build.sh
+++ b/.gitlab-ci/container/lava_build.sh
@@ -73,9 +73,14 @@ apt-get install -y automake \
                    libpython3-dev \
                    libssl-dev \
                    libvulkan-dev \
+                   libwaffle-dev \
                    libxcb-keysyms1-dev \
+                   libxkbcommon-dev \
+                   patch \
                    python3-dev \
                    python3-distutils \
+                   python3-mako \
+                   python3-numpy \
                    python3-serial \
                    qt5-default \
                    qt5-qmake \
@@ -84,7 +89,8 @@ apt-get install -y automake \
 
 
 if [[ "$DEBIAN_ARCH" = "armhf" ]]; then
-    apt-get install -y libegl1-mesa-dev:armhf \
+    apt-get install -y libboost-dev:armhf \
+                       libegl1-mesa-dev:armhf \
                        libelf-dev:armhf \
                        libgbm-dev:armhf \
                        libgles2-mesa-dev:armhf \
@@ -92,8 +98,9 @@ if [[ "$DEBIAN_ARCH" = "armhf" ]]; then
                        libpng-dev:armhf \
                        libpython3-dev:armhf \
                        libvulkan-dev:armhf \
+                       libwaffle-dev:armhf \
                        libxcb-keysyms1-dev:armhf \
-                       libboost-dev:armhf \
+                       libxkbcommon-dev:armhf \
                        qtbase5-dev:armhf
 fi
 
@@ -115,6 +122,13 @@ DEQP_TARGET=surfaceless . .gitlab-ci/build-deqp.sh
 mv /deqp /lava-files/rootfs-${DEBIAN_ARCH}/.
 
 
+############### Build piglit
+if [ -n "$INCLUDE_PIGLIT" ]; then
+    . .gitlab-ci/build-piglit.sh
+    mv /piglit /lava-files/rootfs-${DEBIAN_ARCH}/.
+fi
+
+
 ############### Build apitrace
 . .gitlab-ci/build-apitrace.sh
 mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/apitrace
@@ -137,9 +151,6 @@ rm -rf /renderdoc
 ############### Build libdrm
 EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
 . .gitlab-ci/build-libdrm.sh
-mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH
-find /libdrm/ -name lib\*\.so\* | xargs cp -t 
/lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH/.
-rm -rf /libdrm
 
 
 ############### Cross-build kernel
@@ -215,9 +226,21 @@ set -e
 
 cp .gitlab-ci/create-rootfs.sh /lava-files/rootfs-${DEBIAN_ARCH}/.
 cp .gitlab-ci/container/llvm-snapshot.gpg.key 
/lava-files/rootfs-${DEBIAN_ARCH}/.
-chroot /lava-files/rootfs-${DEBIAN_ARCH} sh /create-rootfs.sh
+chroot /lava-files/rootfs-${DEBIAN_ARCH} \
+    sh -c "INCLUDE_PIGLIT=$INCLUDE_PIGLIT sh /create-rootfs.sh"
 rm /lava-files/rootfs-${DEBIAN_ARCH}/create-rootfs.sh
 rm /lava-files/rootfs-${DEBIAN_ARCH}/llvm-snapshot.gpg.key
+
+
+############### Install the built libdrm
+# Dependencies pulled during the creation of the rootfs may overwrite
+# the built libdrm. Hence, we add it after the rootfs has been already
+# created.
+mkdir -p /lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH
+find /libdrm/ -name lib\*\.so\* | xargs cp -t 
/lava-files/rootfs-${DEBIAN_ARCH}/usr/lib/$GCC_ARCH/.
+rm -rf /libdrm
+
+
 du -ah /lava-files/rootfs-${DEBIAN_ARCH} | sort -h | tail -100
 pushd /lava-files/rootfs-${DEBIAN_ARCH}
   tar cvzf /lava-files/lava-rootfs.tgz .
diff --git a/.gitlab-ci/create-rootfs.sh b/.gitlab-ci/create-rootfs.sh
index ab85e98b158..02be7a25a2c 100644
--- a/.gitlab-ci/create-rootfs.sh
+++ b/.gitlab-ci/create-rootfs.sh
@@ -23,8 +23,32 @@ elif [ $DEBIAN_ARCH = amd64 ]; then
                   "
 fi
 
+if [ -n "$INCLUDE_VK_CTS" ]; then
+    VK_CTS_PACKAGES="libvulkan1"
+fi
+
+if [ -n "$INCLUDE_PIGLIT" ]; then
+    PIGLIT_PACKAGES="libwaffle-1-0
+                     libxkbcommon0
+                     python3-lxml
+                     python3-mako
+                     python3-numpy
+                     python3-simplejson
+                    "
+    INSTALL_CI_FAIRY_PACKAGES="git
+                               python3-dev
+                               python3-pip
+                               python3-setuptools
+                               python3-wheel
+                              "
+fi
+
 apt-get -y install --no-install-recommends \
     $ARCH_PACKAGES \
+    $CI_FAIRY_PACKAGES \
+    $INSTALL_CI_FAIRY_PACKAGES \
+    $PIGLIT_PACKAGES \
+    $VK_CTS_PACKAGES \
     ca-certificates \
     curl \
     initramfs-tools \
@@ -45,8 +69,13 @@ apt-get -y install --no-install-recommends \
     wget \
     xz-utils
 
-if [ -n "$INCLUDE_VK_CTS" ]; then
-    apt-get install -y libvulkan1
+if [ -n "$INCLUDE_PIGLIT" ]; then
+    # Needed for ci-fairy, this revision is able to upload files to
+    # MinIO and doesn't depend on git
+    pip3 install 
git+http://gitlab.freedesktop.org/freedesktop/ci-templates@0f1abc24c043e63894085a6bd12f14263e8b29eb
+
+    apt-get purge -y \
+        $INSTALL_CI_FAIRY_PACKAGES
 fi
 
 passwd root -d
diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml
index 79784e2f2e0..31b4f5a9b0a 100644
--- a/.gitlab-ci/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava-gitlab-ci.yml
@@ -1,5 +1,5 @@
 variables:
-  DISTRIBUTION_TAG: "2020-12-18-lava"
+  DISTRIBUTION_TAG: "2020-12-19-build-piglit"
 
 .kernel+rootfs:
   stage: container-2
@@ -10,6 +10,8 @@ variables:
     KERNEL_URL: 
"https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.10-rc2-for-mesa-ci/linux-v5.10-rc2-for-mesa-ci.tar.gz";
     UPLOAD_FOR_LAVA: 1
     INSTALL_KERNEL_MODULES: 1
+    INCLUDE_PIGLIT: 1
+    PIGLIT_BUILD_TARGETS: "piglit_replayer"
   script:
     - .gitlab-ci/container/lava_build.sh
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to