Mesa (main): ci: Allow specifying a different kernel in LAVA jobs
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Apr 13 07:57:04 UTC 2022
Module: Mesa
Branch: main
Commit: b46000f076cc563ada1aa9963b7fec6176a2da3d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b46000f076cc563ada1aa9963b7fec6176a2da3d
Author: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Date: Thu Mar 17 16:35:30 2022 +0100
ci: Allow specifying a different kernel in LAVA jobs
To make it possible to use a kernel different from that built along with
the rootfs.
This can make it more convenient for other projects to reuse these
scripts.
Signed-off-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15891>
---
.gitlab-ci/lava/lava-gitlab-ci.yml | 2 +-
.gitlab-ci/lava/lava-submit.sh | 5 +++--
.gitlab-ci/lava/lava_job_submitter.py | 13 +++++++------
3 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/.gitlab-ci/lava/lava-gitlab-ci.yml b/.gitlab-ci/lava/lava-gitlab-ci.yml
index d90d0be0456..6c9cd5652f7 100755
--- a/.gitlab-ci/lava/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava/lava-gitlab-ci.yml
@@ -14,7 +14,7 @@
BASE_SYSTEM_MAINLINE_HOST_PATH: "${BASE_SYSTEM_HOST_PREFIX}/${FDO_UPSTREAM_REPO}/${DISTRIBUTION_TAG}/${ARCH}"
BASE_SYSTEM_FORK_HOST_PATH: "${BASE_SYSTEM_HOST_PREFIX}/${CI_PROJECT_PATH}/${DISTRIBUTION_TAG}/${ARCH}"
# per-job build artifacts
- MESA_BUILD_PATH: "${PIPELINE_ARTIFACTS_BASE}/${CI_PROJECT_NAME}-${ARCH}.tar.gz"
+ BUILD_PATH: "${PIPELINE_ARTIFACTS_BASE}/${CI_PROJECT_NAME}-${ARCH}.tar.gz"
JOB_ROOTFS_OVERLAY_PATH: "${JOB_ARTIFACTS_BASE}/job-rootfs-overlay.tar.gz"
JOB_RESULTS_PATH: "${JOB_ARTIFACTS_BASE}/results.tar.gz"
MINIO_RESULTS_UPLOAD: "${JOB_ARTIFACTS_BASE}"
diff --git a/.gitlab-ci/lava/lava-submit.sh b/.gitlab-ci/lava/lava-submit.sh
index 5ed3515bc77..a61665dee82 100755
--- a/.gitlab-ci/lava/lava-submit.sh
+++ b/.gitlab-ci/lava/lava-submit.sh
@@ -31,8 +31,9 @@ tail -f results/lava.log &
artifacts/lava/lava_job_submitter.py \
--dump-yaml \
--pipeline-info "$CI_JOB_NAME: $CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
- --base-system-url-prefix "https://${BASE_SYSTEM_HOST_PATH}" \
- --mesa-build-url "${FDO_HTTP_CACHE_URI:-}https://${MESA_BUILD_PATH}" \
+ --rootfs-url-prefix "https://${BASE_SYSTEM_HOST_PATH}" \
+ --kernel-url-prefix "https://${BASE_SYSTEM_HOST_PATH}" \
+ --build-url "${FDO_HTTP_CACHE_URI:-}https://${BUILD_PATH}" \
--job-rootfs-overlay-url "${FDO_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}" \
--job-timeout ${JOB_TIMEOUT:-30} \
--first-stage-init artifacts/ci-common/init-stage1.sh \
diff --git a/.gitlab-ci/lava/lava_job_submitter.py b/.gitlab-ci/lava/lava_job_submitter.py
index d2b4a622779..0975a3a0d8d 100755
--- a/.gitlab-ci/lava/lava_job_submitter.py
+++ b/.gitlab-ci/lava/lava_job_submitter.py
@@ -93,10 +93,10 @@ def generate_lava_yaml(args):
'to': 'tftp',
'os': 'oe',
'kernel': {
- 'url': '{}/{}'.format(args.base_system_url_prefix, args.kernel_image_name),
+ 'url': '{}/{}'.format(args.kernel_url_prefix, args.kernel_image_name),
},
'nfsrootfs': {
- 'url': '{}/lava-rootfs.tgz'.format(args.base_system_url_prefix),
+ 'url': '{}/lava-rootfs.tgz'.format(args.rootfs_url_prefix),
'compression': 'gz',
}
}
@@ -104,7 +104,7 @@ def generate_lava_yaml(args):
deploy['kernel']['type'] = args.kernel_image_type
if args.dtb:
deploy['dtb'] = {
- 'url': '{}/{}.dtb'.format(args.base_system_url_prefix, args.dtb)
+ 'url': '{}/{}.dtb'.format(args.kernel_url_prefix, args.dtb)
}
# always boot over NFS
@@ -160,7 +160,7 @@ def generate_lava_yaml(args):
init_lines += [
'mkdir -p {}'.format(args.ci_project_dir),
- 'wget -S --progress=dot:giga -O- {} | tar -xz -C {}'.format(args.mesa_build_url, args.ci_project_dir),
+ 'wget -S --progress=dot:giga -O- {} | tar -xz -C {}'.format(args.build_url, args.ci_project_dir),
'wget -S --progress=dot:giga -O- {} | tar -xz -C /'.format(args.job_rootfs_overlay_url),
f'echo "export CI_JOB_JWT_FILE={args.jwt_file}" >> /set-job-env-vars.sh',
'exec /init-stage2.sh',
@@ -346,8 +346,9 @@ def create_parser():
parser = argparse.ArgumentParser("LAVA job submitter")
parser.add_argument("--pipeline-info")
- parser.add_argument("--base-system-url-prefix")
- parser.add_argument("--mesa-build-url")
+ parser.add_argument("--rootfs-url-prefix")
+ parser.add_argument("--kernel-url-prefix")
+ parser.add_argument("--build-url")
parser.add_argument("--job-rootfs-overlay-url")
parser.add_argument("--job-timeout", type=int)
parser.add_argument("--first-stage-init")
More information about the mesa-commit
mailing list