diff options
author | Tomeu Vizoso <tomeu.vizoso@collabora.com> | 2021-10-29 11:00:32 +0200 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2021-11-18 13:36:24 +0000 |
commit | d63cd245e1840ad31a3821c522d94bc67372c030 (patch) | |
tree | 91c8716468beb7df7b42437a6c348390334df708 | |
parent | 81f25d8f27687ab6de9d303c95f437ed17e70f54 (diff) |
ci: Uprev Crosvm
And use my fork while we upstream some improvements to Crosvm that make
it more appropriate for using in CI.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Corentin Noël <corentin.noel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12828>
-rw-r--r-- | .gitlab-ci.yml | 2 | ||||
-rw-r--r-- | .gitlab-ci/container/build-crosvm.sh | 42 | ||||
-rw-r--r-- | .gitlab-ci/container/build-virglrenderer.sh | 20 | ||||
-rw-r--r-- | .gitlab-ci/container/debian/x86_test-gl.sh | 25 | ||||
-rwxr-xr-x | .gitlab-ci/crosvm-runner.sh | 2 |
5 files changed, 16 insertions, 75 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6c6a04cf1fe..96e5270df7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -410,7 +410,7 @@ debian/x86_test-gl: variables: FDO_DISTRIBUTION_EXEC: 'env KERNEL_URL=${KERNEL_URL} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/container/${CI_JOB_NAME}.sh' KERNEL_URL: &kernel-rootfs-url "https://gitlab.freedesktop.org/gfx-ci/linux/-/archive/v5.15-for-mesa-ci-540a4af22d71/linux-v5.15-for-mesa-ci-540a4af22d71.tar.bz2" - MESA_IMAGE_TAG: &debian-x86_test-gl "2021-11-17-syslogd-removal" + MESA_IMAGE_TAG: &debian-x86_test-gl "2021-11-18-crosvm" # Debian 11 based x86 test image for VK debian/x86_test-vk: diff --git a/.gitlab-ci/container/build-crosvm.sh b/.gitlab-ci/container/build-crosvm.sh index 2fd582075af..b8981a04ca6 100644 --- a/.gitlab-ci/container/build-crosvm.sh +++ b/.gitlab-ci/container/build-crosvm.sh @@ -2,47 +2,11 @@ set -ex -# Pull down repositories that crosvm depends on to cros checkout-like locations. -CROS_ROOT=/ -THIRD_PARTY_ROOT=$CROS_ROOT/third_party -mkdir -p $THIRD_PARTY_ROOT -AOSP_EXTERNAL_ROOT=$CROS_ROOT/aosp/external -mkdir -p $AOSP_EXTERNAL_ROOT -PLATFORM2_ROOT=/platform2 - -PLATFORM2_COMMIT=72e56e66ccf3d2ea48f5686bd1f772379c43628b -git clone --single-branch --no-checkout https://chromium.googlesource.com/chromiumos/platform2 $PLATFORM2_ROOT -pushd $PLATFORM2_ROOT -git checkout $PLATFORM2_COMMIT -popd - -# minijail does not exist in upstream linux distros. -MINIJAIL_COMMIT=debdf5de5a0ae3b667bee2f8fb1f755b0b3f5a6c -git clone --single-branch --no-checkout https://android.googlesource.com/platform/external/minijail $AOSP_EXTERNAL_ROOT/minijail -pushd $AOSP_EXTERNAL_ROOT/minijail -git checkout $MINIJAIL_COMMIT -make -cp libminijail.so /usr/lib/x86_64-linux-gnu/ -popd - -# Pull the cras library for audio access. -ADHD_COMMIT=a1e0869b95c845c4fe6234a7b92fdfa6acc1e809 -git clone --single-branch --no-checkout https://chromium.googlesource.com/chromiumos/third_party/adhd $THIRD_PARTY_ROOT/adhd -pushd $THIRD_PARTY_ROOT/adhd -git checkout $ADHD_COMMIT -popd - -# Pull vHost (dataplane for virtio backend drivers) -VHOST_COMMIT=3091854e27242d09453004b011f701fa29c0b8e8 -git clone --single-branch --no-checkout https://chromium.googlesource.com/chromiumos/third_party/rust-vmm/vhost $THIRD_PARTY_ROOT/rust-vmm/vhost -pushd $THIRD_PARTY_ROOT/rust-vmm/vhost -git checkout $VHOST_COMMIT -popd - -CROSVM_VERSION=e42a43d880b0364b55559dbeade3af174f929001 -git clone --single-branch --no-checkout https://chromium.googlesource.com/chromiumos/platform/crosvm /platform/crosvm +CROSVM_VERSION=d2b6a64dd31c92a284a905c0f2483d0b222b1220 +git clone --single-branch -b for-mesa-ci --no-checkout https://gitlab.freedesktop.org/tomeu/crosvm.git /platform/crosvm pushd /platform/crosvm git checkout "$CROSVM_VERSION" +git submodule update --init RUSTFLAGS='-L native=/usr/local/lib' cargo install \ bindgen \ diff --git a/.gitlab-ci/container/build-virglrenderer.sh b/.gitlab-ci/container/build-virglrenderer.sh deleted file mode 100644 index 78b29dae24f..00000000000 --- a/.gitlab-ci/container/build-virglrenderer.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -ex - -mkdir -p /epoxy -pushd /epoxy -wget -qO- https://github.com/anholt/libepoxy/releases/download/1.5.8/libepoxy-1.5.8.tar.xz | tar -xJ --strip-components=1 -meson build/ $EXTRA_MESON_ARGS -ninja -C build install -popd -rm -rf /epoxy - -VIRGLRENDERER_VERSION=f2ab66c6c00065b2944f4cd9d965ee455c535271 -git clone https://gitlab.freedesktop.org/virgl/virglrenderer.git --single-branch --no-checkout /virglrenderer -pushd /virglrenderer -git checkout "$VIRGLRENDERER_VERSION" -meson build/ $EXTRA_MESON_ARGS -ninja -C build install -popd -rm -rf /virglrenderer diff --git a/.gitlab-ci/container/debian/x86_test-gl.sh b/.gitlab-ci/container/debian/x86_test-gl.sh index 9dff100318f..237ec09380f 100644 --- a/.gitlab-ci/container/debian/x86_test-gl.sh +++ b/.gitlab-ci/container/debian/x86_test-gl.sh @@ -58,6 +58,7 @@ apt-get install -y --no-remove \ libclang-cpp11 \ libcap2 \ libegl1 \ + libepoxy-dev \ libfdt1 \ libllvmspirvlib11 \ libxcb-shm0 \ @@ -71,6 +72,16 @@ apt-get install -y --no-remove \ . .gitlab-ci/container/container_pre_build.sh +############### Build libdrm + +. .gitlab-ci/container/build-libdrm.sh + +############### Build Crosvm + +. .gitlab-ci/container/build-rust.sh +. .gitlab-ci/container/build-crosvm.sh +rm -rf /root/.cargo + ############### Build kernel export DEFCONFIG="arch/x86/configs/x86_64_defconfig" @@ -81,28 +92,14 @@ export DEBIAN_ARCH=amd64 mkdir -p /lava-files/ . .gitlab-ci/container/build-kernel.sh -############### Build libdrm - -. .gitlab-ci/container/build-libdrm.sh - ############### Build libclc . .gitlab-ci/container/build-libclc.sh -############### Build virglrenderer - -. .gitlab-ci/container/build-virglrenderer.sh - ############### Build piglit PIGLIT_OPTS="-DPIGLIT_BUILD_CL_TESTS=ON -DPIGLIT_BUILD_DMA_BUF_TESTS=ON" . .gitlab-ci/container/build-piglit.sh -############### Build Crosvm - -. .gitlab-ci/container/build-rust.sh -. .gitlab-ci/container/build-crosvm.sh -rm -rf /root/.cargo - ############### Build dEQP GL DEQP_TARGET=surfaceless . .gitlab-ci/container/build-deqp.sh diff --git a/.gitlab-ci/crosvm-runner.sh b/.gitlab-ci/crosvm-runner.sh index 0cfdd99e86a..6ababc8de92 100755 --- a/.gitlab-ci/crosvm-runner.sh +++ b/.gitlab-ci/crosvm-runner.sh @@ -19,7 +19,7 @@ echo $@ > $DEQP_TEMP_DIR/crosvm-script.sh unset DISPLAY unset XDG_RUNTIME_DIR -/usr/sbin/iptables-legacy -t nat -A POSTROUTING -o eth0 -j MASQUERADE +/usr/sbin/iptables-legacy -w -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward # Send output from guest to host |