mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-31 16:20:13 +01:00
ci/lava: Use new pyutils container
Instead of unpacking the x86_64_build container and its billion build dependencies every time, switch to using only what's in the minimal pyutils container, and the Python scripts we get as an artifact from the python-test job. Pulling the artifacts from S3 rather than using GitLab is also much more efficient. This should substantially reduce the runtime required to get to testing. Signed-off-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31151>
This commit is contained in:
parent
4ee55568b7
commit
dd5d737e6c
3 changed files with 31 additions and 20 deletions
|
|
@ -24,6 +24,7 @@ EPHEMERAL=(
|
|||
g++
|
||||
gcc
|
||||
libc6-dev
|
||||
perl
|
||||
python3-dev
|
||||
)
|
||||
|
||||
|
|
@ -33,7 +34,6 @@ DEPS=(
|
|||
file
|
||||
findutils
|
||||
git
|
||||
python3-mako
|
||||
python3-pil
|
||||
python3-pip
|
||||
python3-ply
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ variables:
|
|||
variables:
|
||||
GIT_STRATEGY: none # testing doesn't build anything from source
|
||||
FDO_CI_CONCURRENT: 6 # should be replaced by per-machine definitions
|
||||
# proxy used to cache data locally
|
||||
FDO_HTTP_CACHE_URI: "http://caching-proxy/cache/?uri="
|
||||
# the dispatchers use this to cache data locally
|
||||
LAVA_HTTP_CACHE_URI: "http://caching-proxy/cache/?uri="
|
||||
# base system generated by the container build job, shared between many pipelines
|
||||
BASE_SYSTEM_HOST_PREFIX: "${S3_HOST}/${S3_KERNEL_BUCKET}"
|
||||
BASE_SYSTEM_MAINLINE_HOST_PATH: "${BASE_SYSTEM_HOST_PREFIX}/${FDO_UPSTREAM_REPO}/${DISTRIBUTION_TAG}/${DEBIAN_ARCH}"
|
||||
|
|
@ -17,11 +17,15 @@ variables:
|
|||
# per-job build artifacts
|
||||
JOB_ROOTFS_OVERLAY_PATH: "${JOB_ARTIFACTS_BASE}/job-rootfs-overlay.tar.gz"
|
||||
JOB_RESULTS_PATH: "${JOB_ARTIFACTS_BASE}/results.tar.zst"
|
||||
S3_ARTIFACT_NAME: "mesa-${ARCH}-default-debugoptimized"
|
||||
LAVA_S3_ARTIFACT_NAME: "mesa-${ARCH}-default-debugoptimized"
|
||||
S3_ARTIFACT_NAME: "mesa-python-test"
|
||||
S3_RESULTS_UPLOAD: "${JOB_ARTIFACTS_BASE}"
|
||||
PIGLIT_NO_WINDOW: 1
|
||||
VISIBILITY_GROUP: "Collabora+fdo"
|
||||
before_script:
|
||||
- !reference [.download_s3, before_script]
|
||||
script:
|
||||
- . artifacts/setup-test-env.sh
|
||||
- ./artifacts/lava/lava-submit.sh
|
||||
artifacts:
|
||||
name: "${CI_PROJECT_NAME}_${CI_JOB_NAME}"
|
||||
|
|
@ -37,8 +41,13 @@ variables:
|
|||
after_script:
|
||||
- curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s "https://${JOB_RESULTS_PATH}" | tar --zstd -x
|
||||
needs:
|
||||
- alpine/x86_64_lava_ssh_client
|
||||
- !reference [.required-for-hardware-jobs, needs]
|
||||
- job: alpine/x86_64_lava_ssh_client
|
||||
artifacts: false
|
||||
- job: debian/x86_64_pyutils
|
||||
artifacts: false
|
||||
- job: python-test
|
||||
artifacts: false
|
||||
|
||||
.lava-test:arm32:
|
||||
variables:
|
||||
|
|
@ -49,14 +58,15 @@ variables:
|
|||
BOOT_METHOD: u-boot
|
||||
extends:
|
||||
- .use-debian/arm64_build # for same $MESA_ARTIFACTS_TAG as in kernel+rootfs_arm32
|
||||
- .use-debian/x86_64_build
|
||||
- .use-debian/x86_64_pyutils
|
||||
- .lava-test
|
||||
- .use-kernel+rootfs-arm
|
||||
needs:
|
||||
- !reference [.lava-test, needs]
|
||||
- kernel+rootfs_arm32
|
||||
- debian/x86_64_build
|
||||
- debian-arm32
|
||||
- job: kernel+rootfs_arm32
|
||||
artifacts: false
|
||||
- job: debian-arm32
|
||||
artifacts: false
|
||||
|
||||
.lava-test-deqp:arm32:
|
||||
extends:
|
||||
|
|
@ -73,16 +83,15 @@ variables:
|
|||
BOOT_METHOD: u-boot
|
||||
extends:
|
||||
- .use-debian/arm64_build # for same $MESA_ARTIFACTS_TAG as in kernel+rootfs_arm64
|
||||
- .use-debian/x86_64_build
|
||||
- .use-debian/x86_64_pyutils
|
||||
- .lava-test
|
||||
- .use-kernel+rootfs-arm
|
||||
dependencies:
|
||||
- debian-arm64
|
||||
needs:
|
||||
- !reference [.lava-test, needs]
|
||||
- kernel+rootfs_arm64
|
||||
- debian/x86_64_build
|
||||
- debian-arm64
|
||||
- job: kernel+rootfs_arm64
|
||||
artifacts: false
|
||||
- job: debian-arm64
|
||||
artifacts: false
|
||||
|
||||
.lava-test-deqp:arm64:
|
||||
variables:
|
||||
|
|
@ -99,13 +108,15 @@ variables:
|
|||
BOOT_METHOD: u-boot
|
||||
extends:
|
||||
- .use-debian/x86_64_build-base # for same $MESA_ARTIFACTS_BASE_TAG as in kernel+rootfs_x86_64
|
||||
- .use-debian/x86_64_build
|
||||
- .use-debian/x86_64_pyutils
|
||||
- .lava-test
|
||||
- .use-kernel+rootfs-x86_64
|
||||
needs:
|
||||
- !reference [.lava-test, needs]
|
||||
- kernel+rootfs_x86_64
|
||||
- debian-testing
|
||||
- job: kernel+rootfs_x86_64
|
||||
artifacts: false
|
||||
- job: debian-testing
|
||||
artifacts: false
|
||||
|
||||
.lava-test-deqp:x86_64:
|
||||
variables:
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ section_end variables
|
|||
tar zcf job-rootfs-overlay.tar.gz -C results/job-rootfs-overlay/ .
|
||||
ci-fairy s3cp --token-file "${S3_JWT_FILE}" job-rootfs-overlay.tar.gz "https://${JOB_ROOTFS_OVERLAY_PATH}"
|
||||
|
||||
ARTIFACT_URL="${FDO_HTTP_CACHE_URI:-}https://${PIPELINE_ARTIFACTS_BASE}/${S3_ARTIFACT_NAME:?}.tar.zst"
|
||||
ARTIFACT_URL="${FDO_HTTP_CACHE_URI:-}https://${PIPELINE_ARTIFACTS_BASE}/${LAVA_S3_ARTIFACT_NAME:?}.tar.zst"
|
||||
|
||||
touch results/lava.log
|
||||
tail -f results/lava.log &
|
||||
|
|
@ -44,7 +44,7 @@ PYTHONPATH=artifacts/ artifacts/lava/lava_job_submitter.py \
|
|||
--kernel-url-prefix "${KERNEL_IMAGE_BASE}/${DEBIAN_ARCH}" \
|
||||
--kernel-external "${FORCE_KERNEL_TAG}" \
|
||||
--build-url "${ARTIFACT_URL}" \
|
||||
--job-rootfs-overlay-url "${FDO_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}" \
|
||||
--job-rootfs-overlay-url "${LAVA_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}" \
|
||||
--job-timeout-min ${JOB_TIMEOUT:-30} \
|
||||
--first-stage-init artifacts/ci-common/init-stage1.sh \
|
||||
--ci-project-dir "${CI_PROJECT_DIR}" \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue