mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-11-23 15:30:09 +00:00
ci/lava: Switch LAVA jobs to x86 runners
So we don't need to provision aarch64 servers, which are these days rarer than x8_64. In the switch to the new runner tags, switch to one which contains the device type, so we can dimension the runner jobs taking into account the number of DUTs available. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Acked-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11108>
This commit is contained in:
parent
09935c0dde
commit
67af3b6bba
@ -315,7 +315,7 @@ x86_build:
|
||||
extends:
|
||||
- .use-x86_build-base
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &x86_build "2021-04-13-glvnd"
|
||||
MESA_IMAGE_TAG: &x86_build "2021-06-02-lava-x86"
|
||||
|
||||
.use-x86_build:
|
||||
extends:
|
||||
@ -431,7 +431,7 @@ arm_build:
|
||||
tags:
|
||||
- aarch64
|
||||
variables:
|
||||
MESA_IMAGE_TAG: &arm_build "2021-04-13-bullseye"
|
||||
MESA_IMAGE_TAG: &arm_build "2021-06-01-lava-x86"
|
||||
|
||||
.use-arm_build:
|
||||
extends:
|
||||
|
@ -8,11 +8,6 @@ sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
|
||||
echo 'deb https://deb.debian.org/debian buster main' >/etc/apt/sources.list.d/buster.list
|
||||
apt-get update
|
||||
|
||||
EPHEMERAL="
|
||||
python3-pytest-runner
|
||||
python3-wheel
|
||||
"
|
||||
|
||||
apt-get -y install \
|
||||
abootimg \
|
||||
autoconf \
|
||||
@ -49,24 +44,16 @@ apt-get -y install \
|
||||
meson \
|
||||
pkg-config \
|
||||
python-is-python3 \
|
||||
python3-aiohttp \
|
||||
python3-jinja2 \
|
||||
python3-mako \
|
||||
python3-pil \
|
||||
python3-pip \
|
||||
python3-requests \
|
||||
python3-setuptools \
|
||||
python3-yaml \
|
||||
python3-zmq \
|
||||
u-boot-tools \
|
||||
unzip \
|
||||
wget \
|
||||
xz-utils \
|
||||
zlib1g-dev \
|
||||
$EPHEMERAL
|
||||
|
||||
# Update lavacli to v1.1+
|
||||
pip3 install git+https://git.lavasoftware.org/lava/lavacli@3db3ddc45e5358908bc6a17448059ea2340492b7
|
||||
zlib1g-dev
|
||||
|
||||
# Not available anymore in bullseye
|
||||
apt-get install -y --no-remove -t buster \
|
||||
@ -74,8 +61,6 @@ apt-get install -y --no-remove -t buster \
|
||||
|
||||
pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
|
||||
|
||||
apt-get purge -y $EPHEMERAL
|
||||
|
||||
arch=armhf
|
||||
. .gitlab-ci/container/cross_build.sh
|
||||
|
||||
|
@ -77,7 +77,6 @@ apt-get install -y --no-remove \
|
||||
# Needed for ci-fairy, this revision is able to upload files to MinIO
|
||||
pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@6f5af7e5574509726c79109e3c147cee95e81366
|
||||
|
||||
|
||||
############### Uninstall ephemeral packages
|
||||
|
||||
apt-get purge -y $STABLE_EPHEMERAL
|
||||
|
@ -14,6 +14,7 @@ STABLE_EPHEMERAL=" \
|
||||
cmake \
|
||||
libgbm-dev \
|
||||
libtool \
|
||||
python3-pip \
|
||||
unzip \
|
||||
"
|
||||
|
||||
@ -102,6 +103,8 @@ ninja install
|
||||
popd
|
||||
rm -rf DirectX-Headers
|
||||
|
||||
pip3 install git+https://git.lavasoftware.org/lava/lavacli@3db3ddc45e5358908bc6a17448059ea2340492b7
|
||||
|
||||
############### Uninstall the build software
|
||||
|
||||
apt-get purge -y \
|
||||
|
@ -57,11 +57,13 @@
|
||||
TEST_SUITE: "deqp"
|
||||
LAVA_TEST_SCRIPT: "/install/deqp-runner.sh"
|
||||
extends:
|
||||
- .use-arm_build # for same $MESA_ARTIFACTS_TAG as in kernel+rootfs_armhf
|
||||
- .use-x86_build
|
||||
- .lava-test
|
||||
- .use-arm_build
|
||||
- .use-kernel+rootfs-arm
|
||||
needs:
|
||||
- kernel+rootfs_armhf
|
||||
- x86_build
|
||||
- meson-armhf
|
||||
|
||||
.lava-test:arm64:
|
||||
@ -73,13 +75,15 @@
|
||||
TEST_SUITE: "deqp"
|
||||
LAVA_TEST_SCRIPT: "/install/deqp-runner.sh"
|
||||
extends:
|
||||
- .use-arm_build # for same $MESA_ARTIFACTS_TAG as in kernel+rootfs_arm64
|
||||
- .use-x86_build
|
||||
- .lava-test
|
||||
- .use-arm_build
|
||||
- .use-kernel+rootfs-arm
|
||||
dependencies:
|
||||
- meson-arm64
|
||||
needs:
|
||||
- kernel+rootfs_arm64
|
||||
- x86_build
|
||||
- meson-arm64
|
||||
|
||||
.lava-test:amd64:
|
||||
@ -92,12 +96,11 @@
|
||||
LAVA_TEST_SCRIPT: "/install/deqp-runner.sh"
|
||||
extends:
|
||||
- .use-x86_build-base # for same $MESA_ARTIFACTS_BASE_TAG as in kernel+rootfs_amd64
|
||||
- .use-arm_build # ARM because it must match the architecture of the runner
|
||||
- .use-x86_build
|
||||
- .lava-test
|
||||
- .use-kernel+rootfs-amd64
|
||||
needs:
|
||||
- kernel+rootfs_amd64
|
||||
- arm_build # ARM because it must match the architecture of the runner
|
||||
- meson-testing
|
||||
|
||||
.lava-traces-base:
|
||||
|
@ -13,11 +13,11 @@ Mesa-LAVA software architecture
|
||||
-------------------------------
|
||||
|
||||
The gitlab-runner will run on some host that has access to the LAVA
|
||||
lab, with tags like "lava-mesa-boardname" to control only taking in
|
||||
jobs for the hardware that the LAVA lab contains. The gitlab-runner
|
||||
spawns a Docker container with lava-cli in it, and connects to the
|
||||
LAVA lab using a predefined token to submit jobs under a specific
|
||||
device type.
|
||||
lab, with tags like "mesa-ci-x86-64-lava-$DEVICE_TYPE" to control only
|
||||
taking in jobs for the hardware that the LAVA lab contains. The
|
||||
gitlab-runner spawns a Docker container with lavacli in it, and
|
||||
connects to the LAVA lab using a predefined token to submit jobs under
|
||||
a specific device type.
|
||||
|
||||
The LAVA instance manages scheduling those jobs to the boards present.
|
||||
For a job, it will deploy the kernel, device tree, and the ramdisk
|
||||
@ -46,14 +46,10 @@ and some public images, and figure out how to get your boards booting.
|
||||
Once you can boot your board using a custom job definition, it's time
|
||||
to connect Mesa CI to it. Install gitlab-runner and register as a
|
||||
shared runner (you'll need a GitLab admin for help with this). The
|
||||
runner *must* have a tag (like "mesa-lava-db410c") to restrict the
|
||||
jobs it takes or it will grab random jobs from tasks across
|
||||
``gitlab.freedesktop.org``, and your runner isn't ready for that.
|
||||
|
||||
The runner will be running an ARM Docker image (we haven't done any
|
||||
x86 LAVA yet, so that isn't documented). If your host for the
|
||||
gitlab-runner is x86, then you'll need to install qemu-user-static and
|
||||
the binfmt support.
|
||||
runner *must* have a tag (like "mesa-ci-x86-64-lava-rk3399-gru-kevin")
|
||||
to restrict the jobs it takes or it will grab random jobs from tasks
|
||||
across ``gitlab.freedesktop.org``, and your runner isn't ready for
|
||||
that.
|
||||
|
||||
The Docker image will need access to the lava instance. If it's on a
|
||||
public network it should be fine. If you're running the LAVA instance
|
||||
@ -82,5 +78,5 @@ GitLab CI yml, but this way the current method of connecting to the
|
||||
LAVA instance is separated from the Mesa branches (particularly
|
||||
relevant as we have many stable branches all using CI).
|
||||
|
||||
Now it's time to define your test runner in
|
||||
``.gitlab-ci/lava-gitlab-ci.yml``.
|
||||
Now it's time to define your test jobs in the driver-specific
|
||||
gitlab-ci.yml file, using the device-specific tags.
|
||||
|
@ -69,7 +69,7 @@ radv_stoney_vkcts:amd64:
|
||||
KERNEL_IMAGE_TYPE: ""
|
||||
VK_DRIVER: radeon
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt
|
||||
|
||||
radv-fossils:
|
||||
extends:
|
||||
|
@ -8,8 +8,6 @@
|
||||
BOOT_METHOD: depthcharge
|
||||
KERNEL_IMAGE_TYPE: ""
|
||||
FLAKES_CHANNEL: "#intel-ci"
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
|
||||
.iris-apl-test:
|
||||
extends:
|
||||
@ -18,6 +16,8 @@
|
||||
DEVICE_TYPE: asus-C523NA-A20057-coral
|
||||
GPU_VERSION: iris-apl
|
||||
ENV_VARS: "DEQP_EXPECTED_RENDERER=APL"
|
||||
tags:
|
||||
- mesa-ci-x86-64-lava-asus-C523NA-A20057-coral
|
||||
|
||||
.iris-glk-test:
|
||||
extends:
|
||||
@ -27,6 +27,8 @@
|
||||
DEVICE_TYPE: hp-x360-12b-n4000-octopus
|
||||
GPU_VERSION: iris-glk
|
||||
ENV_VARS: "DEQP_EXPECTED_RENDERER=GLK"
|
||||
tags:
|
||||
- mesa-ci-x86-64-lava-hp-x360-12b-n4000-octopus
|
||||
|
||||
.iris-amly-test:
|
||||
extends:
|
||||
@ -35,6 +37,8 @@
|
||||
DEVICE_TYPE: asus-C433TA-AJ0005-rammus
|
||||
GPU_VERSION: iris-amly
|
||||
ENV_VARS: "DEQP_EXPECTED_RENDERER=AML"
|
||||
tags:
|
||||
- mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus
|
||||
|
||||
iris-apl-gles2:
|
||||
extends:
|
||||
|
@ -13,7 +13,7 @@ panfrost-t720-gles2:arm64:
|
||||
GPU_VERSION: panfrost-t720
|
||||
ENV_VARS: "PAN_MESA_DEBUG=sync DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-sun50i-h6-pine-h64
|
||||
|
||||
panfrost-t760-gles2:armhf:
|
||||
extends:
|
||||
@ -28,7 +28,7 @@ panfrost-t760-gles2:armhf:
|
||||
KERNEL_IMAGE_TYPE: ""
|
||||
ENV_VARS: "PAN_MESA_DEBUG=sync DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760"
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-rk3288-veyron-jaq
|
||||
|
||||
panfrost-t760-traces:armhf:
|
||||
extends:
|
||||
@ -44,7 +44,7 @@ panfrost-t760-traces:armhf:
|
||||
KERNEL_IMAGE_TYPE: ""
|
||||
ENV_VARS: "PAN_MESA_DEBUG=deqp,sync MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 EGL_PLATFORM=surfaceless PIGLIT_PROFILES=replay PIGLIT_JUNIT_RESULTS=1"
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-rk3288-veyron-jaq
|
||||
|
||||
.lava-rk3399-gru-kevin:
|
||||
extends:
|
||||
@ -58,7 +58,7 @@ panfrost-t760-traces:armhf:
|
||||
BOOT_METHOD: depthcharge
|
||||
KERNEL_IMAGE_TYPE: ""
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-rk3399-gru-kevin
|
||||
|
||||
.panfrost-t860-gles2:arm64:
|
||||
extends:
|
||||
@ -100,7 +100,7 @@ panfrost-t760-traces:armhf:
|
||||
DTB: ${DEVICE_TYPE}
|
||||
GPU_VERSION: panfrost-g52
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3
|
||||
|
||||
.panfrost-g52-gles2:arm64:
|
||||
extends:
|
||||
@ -137,7 +137,7 @@ panfrost-g52-gles31:arm64:
|
||||
KERNEL_IMAGE_TYPE: ""
|
||||
GPU_VERSION: panfrost-g72
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-acer-mt8183-cp311-3h-jacuzzi
|
||||
|
||||
.panfrost-g72-gles2:arm64:
|
||||
extends:
|
||||
|
@ -10,7 +10,7 @@
|
||||
DRIVER_NAME: radeonsi
|
||||
ENV_VARS: "DEQP_PARALLEL=4 DEQP_EXPECTED_RENDERER=STONEY"
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt
|
||||
|
||||
.radeonsi-stoney-deqp:amd64:
|
||||
extends:
|
||||
@ -48,7 +48,7 @@ radeonsi-stoney-traces:amd64:
|
||||
variables:
|
||||
ENV_VARS: "EGL_PLATFORM=surfaceless PIGLIT_PROFILES=replay PIGLIT_JUNIT_RESULTS=1"
|
||||
tags:
|
||||
- mesa-ci-aarch64-lava-collabora
|
||||
- mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt
|
||||
|
||||
radeonsi-stoney-piglit-gl:amd64:
|
||||
extends:
|
||||
|
Loading…
Reference in New Issue
Block a user