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