ci: Merge ARM testing docker images to a single arm_test one

The merged image contains kernels & rootfs for both arm64 & armhf
baremetal test jobs, and is smaller than either arm{64,hf}_test image
before.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9955>
This commit is contained in:
Michel Dänzer 2021-03-30 12:54:15 +02:00 committed by Marge Bot
parent 4b20bd7425
commit 6652c5018c
8 changed files with 42 additions and 84 deletions

View File

@ -438,24 +438,6 @@ arm_build:
needs:
- arm_build
# Debian 10 based x86 baremetal image base
arm_test-base:
extends:
- .fdo.container-build@debian
- .container
variables:
MESA_IMAGE_TAG: &arm_test-base "2021-03-31-rootfs"
.use-arm_test-base:
extends:
- .fdo.container-build@debian
- .use-base-image
variables:
MESA_BASE_IMAGE: "debian/arm_test-base"
MESA_BASE_TAG: *arm_test-base
needs:
- arm_test-base
# Kernel & rootfs for ARM64 baremetal testing
kernel+rootfs_arm64-baremetal:
extends:
@ -465,9 +447,8 @@ kernel+rootfs_arm64-baremetal:
- aarch64
variables:
DEBIAN_ARCH: "arm64"
DISTRIBUTION_TAG: "${MESA_ROOTFS_TAG}--${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
KERNEL_URL: "https://github.com/anholt/linux/archive/mesa-ci-2021-02-17-5.11.tar.gz"
MESA_ROOTFS_TAG: &arm64-baremetal "2021-03-31-libxrender"
MESA_ROOTFS_TAG: &arm-baremetal "2021-03-31-libxrender"
MINIO_SUFFIX: "baremetal"
# Kernel & rootfs for armhf baremetal testing
@ -476,51 +457,35 @@ kernel+rootfs_armhf-baremetal:
- kernel+rootfs_arm64-baremetal
variables:
DEBIAN_ARCH: "armhf"
MESA_ROOTFS_TAG: &armhf-baremetal "2021-03-31-libxrender"
MESA_ROOTFS_TAG: *arm-baremetal
# x86 image with ARM64 rootfs for baremetal testing.
arm64_test:
# x86 image with ARM64 & armhf kernel & rootfs for baremetal testing
arm_test:
extends:
- .use-arm_test-base
- .fdo.container-build@debian
- .container
# Don't want the .container rules
- .ci-run-policy
stage: build-misc
needs:
- kernel+rootfs_arm64-baremetal
- kernel+rootfs_armhf-baremetal
variables:
DEBIAN_ARCH: "arm64"
FDO_DISTRIBUTION_EXEC: 'env ARTIFACTS_PREFIX=https://${MINIO_HOST}/mesa-lava ARTIFACTS_SUFFIX=baremetal/${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT}/${DEBIAN_ARCH} CI_PROJECT_PATH=${CI_PROJECT_PATH} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} FDO_UPSTREAM_REPO=${FDO_UPSTREAM_REPO} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_ROOTFS_TAG}--${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
FDO_DISTRIBUTION_EXEC: 'env ARTIFACTS_PREFIX=https://${MINIO_HOST}/mesa-lava ARTIFACTS_SUFFIX=baremetal/${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT} CI_PROJECT_PATH=${CI_PROJECT_PATH} FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} FDO_UPSTREAM_REPO=${FDO_UPSTREAM_REPO} bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
FDO_DISTRIBUTION_TAG: "${MESA_IMAGE_TAG}--${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT}"
MESA_ARM_BUILD_TAG: *arm_build
MESA_IMAGE_TAG: &arm64_test "2021-03-31-rootfs"
MESA_ROOTFS_TAG: *arm64-baremetal
MESA_IMAGE_TAG: &arm_test "2021-03-31-unified"
MESA_ROOTFS_TAG: *arm-baremetal
.use-arm64_test:
image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${MESA_ROOTFS_TAG}--${MESA_BASE_TAG}--${MESA_TEMPLATES_COMMIT}"
.use-arm_test:
image: "$CI_REGISTRY_IMAGE/${MESA_IMAGE_PATH}:${MESA_IMAGE_TAG}--${MESA_ROOTFS_TAG}--${MESA_ARM_BUILD_TAG}--${MESA_TEMPLATES_COMMIT}"
variables:
MESA_BASE_TAG: *arm_test-base
MESA_IMAGE_PATH: "debian/arm64_test"
MESA_IMAGE_TAG: *arm64_test
MESA_ROOTFS_TAG: *arm64-baremetal
MESA_ARM_BUILD_TAG: *arm_build
MESA_IMAGE_PATH: "debian/arm_test"
MESA_IMAGE_TAG: *arm_test
MESA_ROOTFS_TAG: *arm-baremetal
needs:
- arm64_test
# x86 image with armhf rootfs for baremetal testing
armhf_test:
extends:
- arm64_test
variables:
DEBIAN_ARCH: "armhf"
MESA_IMAGE_TAG: &armhf_test "2021-03-31-rootfs"
MESA_ROOTFS_TAG: *armhf-baremetal
.use-armhf_test:
extends:
- .use-arm64_test
variables:
MESA_IMAGE_PATH: "debian/armhf_test"
MESA_IMAGE_TAG: *armhf_test
MESA_ROOTFS_TAG: *armhf-baremetal
needs:
- armhf_test
- arm_test
# Native Windows docker builds
#
@ -1213,7 +1178,7 @@ meson-mingw32-x86_64:
TEST_LD_PRELOAD: libasan.so.5
MINIO_ARTIFACT_NAME: mesa-arm64-asan
needs:
- arm64_test
- arm_test
- job: meson-arm64-asan
artifacts: false

View File

@ -1,5 +0,0 @@
#!/bin/bash
arch=arm64
. .gitlab-ci/container/baremetal_build.sh

View File

@ -27,3 +27,6 @@ apt-get install -y --no-remove \
# setup nginx
sed -i '/gzip_/ s/#\ //g' /etc/nginx/nginx.conf
cp .gitlab-ci/bare-metal/nginx-default-site /etc/nginx/sites-enabled/default
arch=arm64 . .gitlab-ci/container/baremetal_build.sh
arch=armhf . .gitlab-ci/container/baremetal_build.sh

View File

@ -1,5 +0,0 @@
#!/bin/bash
arch=armhf
. .gitlab-ci/container/baremetal_build.sh

View File

@ -6,15 +6,15 @@ set -o xtrace
# Fetch the arm-built rootfs image and unpack it in our x86 container (saves
# network transfer, disk usage, and runtime on test jobs)
if wget -q --method=HEAD "${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${ARTIFACTS_SUFFIX}/done"; then
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${ARTIFACTS_SUFFIX}"
if wget -q --method=HEAD "${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${ARTIFACTS_SUFFIX}/${arch}/done"; then
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${ARTIFACTS_SUFFIX}/${arch}"
else
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/${ARTIFACTS_SUFFIX}"
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/${ARTIFACTS_SUFFIX}/${arch}"
fi
wget ${ARTIFACTS_URL}/lava-rootfs.tgz -O rootfs.tgz
mkdir -p /rootfs
tar -C /rootfs -zxvf rootfs.tgz
mkdir -p /rootfs-$arch
tar -C /rootfs-$arch -zxf rootfs.tgz
rm rootfs.tgz
if [[ $arch == "arm64" ]]; then

View File

@ -4,6 +4,7 @@
stage: container-2
variables:
GIT_STRATEGY: fetch
DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_IMAGE_TAG}--${MESA_TEMPLATES_COMMIT}"
script:
- .gitlab-ci/container/lava_build.sh
@ -12,7 +13,6 @@
- .kernel+rootfs
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"
DISTRIBUTION_TAG: &distribution-tag-arm "${MESA_ROOTFS_TAG}--${MESA_IMAGE_TAG}--${MESA_TEMPLATES_COMMIT}"
INSTALL_KERNEL_MODULES: 1
MESA_ROOTFS_TAG: &lava-rootfs "2021-03-31-libxrender"
MINIO_SUFFIX: "lava"

View File

@ -2,17 +2,17 @@
extends:
- .baremetal-test-armhf
- .vc4-rules
- .use-armhf_test
- .use-arm_test
variables:
BM_BOOTFS: /boot/raspberrypi_armhf
BM_KERNEL_MODULES: vc4
BM_ROOTFS: /rootfs
BM_ROOTFS: /rootfs-armhf
GPU_VERSION: vc4-rpi3
DEQP_EXPECTED_RENDERER: VC4
script:
- ./install/bare-metal/poe-powered.sh
needs:
- job: armhf_test
- job: arm_test
artifacts: false
- meson-armhf
tags:
@ -60,19 +60,19 @@ vc4-rpi3-piglit-quick_shader:armhf:
extends:
- .baremetal-test-armhf
- .v3d-rules
- .use-armhf_test
- .use-arm_test
variables:
BARE_METAL_TEST_SCRIPT: "/install/deqp-runner.sh"
BM_BOOTFS: /boot/raspberrypi_armhf
BM_KERNEL_MODULES: v3d,vc4
BM_POE_TIMEOUT: 300
BM_ROOTFS: /rootfs
BM_ROOTFS: /rootfs-armhf
DEQP_EXPECTED_RENDERER: V3D
GPU_VERSION: v3d-rpi4
script:
- ./install/bare-metal/poe-powered.sh
needs:
- armhf_test
- arm_test
- meson-armhf
tags:
- igalia-rpi4
@ -123,7 +123,7 @@ v3d-rpi4-piglit-quick_shader:armhf:
v3dv-rpi4-vk:armhf:
extends:
- .baremetal-test-armhf
- .use-armhf_test
- .use-arm_test
- .v3dv-rules
parallel: 6
variables:
@ -131,7 +131,7 @@ v3dv-rpi4-vk:armhf:
BM_BOOTFS: /boot/raspberrypi_armhf
BM_KERNEL_MODULES: v3d,vc4
BM_POE_TIMEOUT: 300
BM_ROOTFS: /rootfs
BM_ROOTFS: /rootfs-armhf
CPU: arm7hlf
DEQP_EXPECTED_RENDERER: "V3D 4.2"
DEQP_FRACTION: 7
@ -142,7 +142,7 @@ v3dv-rpi4-vk:armhf:
script:
- ./install/bare-metal/poe-powered.sh
needs:
- armhf_test
- arm_test
- meson-armhf
tags:
- igalia-rpi4

View File

@ -1,18 +1,18 @@
.freedreno-test:
extends:
- .baremetal-test
- .use-arm64_test
- .use-arm_test
- .freedreno-rules
variables:
MINIO_ARTIFACT_NAME: mesa-arm64
BM_ROOTFS: /rootfs
BM_ROOTFS: /rootfs-arm64
FLAKES_CHANNEL: "#freedreno-ci"
PIGLIT_PLATFORM: mixed_glx_egl
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init $BM_KERNELARGS"
script:
- ./install/bare-metal/fastboot.sh
needs:
- arm64_test
- arm_test
- job: meson-arm64
artifacts: false
tags: