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
