Mesa (main): ci/lava: Clean up variable naming, document them

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 11 12:47:32 UTC 2021


Module: Mesa
Branch: main
Commit: 0fd2320c945bc9278a9f87e5d63214c22e232ba2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0fd2320c945bc9278a9f87e5d63214c22e232ba2

Author: Daniel Stone <daniels at collabora.com>
Date:   Thu Jun 10 14:53:57 2021 +0100

ci/lava: Clean up variable naming, document them

Our variable names haven't aged very well. Rename them to make them more
clear and straightforward, especially when we bring in a third rootfs
element to download.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11309>

---

 .gitlab-ci/lava/lava-gitlab-ci.yml    | 14 +++++++++++---
 .gitlab-ci/lava/lava-submit.sh        | 13 +++++++------
 .gitlab-ci/lava/lava.yml.jinja2       |  8 ++++----
 .gitlab-ci/lava/lava_job_submitter.py |  8 ++++----
 4 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/.gitlab-ci/lava/lava-gitlab-ci.yml b/.gitlab-ci/lava/lava-gitlab-ci.yml
index 96f4cc4c639..3d01e11f6c7 100644
--- a/.gitlab-ci/lava/lava-gitlab-ci.yml
+++ b/.gitlab-ci/lava/lava-gitlab-ci.yml
@@ -8,8 +8,16 @@
     ENV_VARS: "DEQP_PARALLEL=6"
     FIXED_ENV_VARS: "CI_PIPELINE_ID=${CI_PIPELINE_ID} CI_JOB_ID=${CI_JOB_ID} CI_PAGES_DOMAIN=${CI_PAGES_DOMAIN} CI_PROJECT_NAME=${CI_PROJECT_NAME} CI_PROJECT_DIR=${CI_PROJECT_DIR} CI_PROJECT_PATH=${CI_PROJECT_PATH} CI_PROJECT_ROOT_NAMESPACE=${CI_PROJECT_ROOT_NAMESPACE} CI_SERVER_URL=${CI_SERVER_URL} DRIVER_NAME=${DRIVER_NAME} FDO_UPSTREAM_REPO=${FDO_UPSTREAM_REPO} PIGLIT_NO_WINDOW=1 PIGLIT_REPLAY_UPLOAD_TO_MINIO=1 MINIO_HOST=${MINIO_HOST} LAVA_TEST_SCRIPT=${LAVA_TEST_SCRIPT} VK_DRIVER=${VK_DRIVER} FLAKES_CHANNEL=${FLAKES_CHANNEL}"
     DEQP_VERSION: gles2
-    ARTIFACTS_PREFIX: "https://${MINIO_HOST}/mesa-lava"
-    MESA_URL: "http://caching-proxy/cache/?uri=https://${MINIO_HOST}/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/mesa-${ARCH}.tar.gz"
+    # proxy used to cache data locally
+    FDO_HTTP_CACHE_URI: "http://caching-proxy/cache/?uri="
+    # base system generated by the container build job, shared between many pipelines
+    BASE_SYSTEM_HOST_PREFIX: "${MINIO_HOST}/mesa-lava"
+    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-pipeline/job build artifacts
+    PIPELINE_ARTIFACTS_BASE: "${MINIO_HOST}/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}"
+    MESA_BUILD_PATH: "${PIPELINE_ARTIFACTS_BASE}/mesa-${ARCH}.tar.gz"
+    JOB_RESULTS_PATH: "${PIPELINE_ARTIFACTS_BASE}/${CI_JOB_ID}/results.tar.gz"
   script:
     - ./artifacts/lava/lava-submit.sh
   artifacts:
@@ -20,7 +28,7 @@
     exclude:
       - results/*.shader_cache
   after_script:
-    - wget -q "https://minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/${CI_JOB_ID}/results.tar.gz" -O- | tar -xz
+    - wget -q "https://${JOB_RESULTS_PATH}" -O- | tar -xz
 
 .lava-test:armhf:
   variables:
diff --git a/.gitlab-ci/lava/lava-submit.sh b/.gitlab-ci/lava/lava-submit.sh
index f3e6717985d..fd83c598aae 100755
--- a/.gitlab-ci/lava/lava-submit.sh
+++ b/.gitlab-ci/lava/lava-submit.sh
@@ -6,18 +6,19 @@ set -x
 rm -rf results
 mkdir -p results
 
-# Try to use the kernel and rootfs built in mainline first, to save cycles
-if wget -q --method=HEAD "${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${DISTRIBUTION_TAG}/${ARCH}/done"; then
-	ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${DISTRIBUTION_TAG}/${ARCH}"
+# Try to use the kernel and rootfs built in mainline first, so we're more
+# likely to hit cache
+if wget -q --method=HEAD "https://${BASE_SYSTEM_MAINLINE_HOST_PATH}/done"; then
+	BASE_SYSTEM_HOST_PATH="${BASE_SYSTEM_MAINLINE_HOST_PATH}"
 else
-	ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/${DISTRIBUTION_TAG}/${ARCH}"
+	BASE_SYSTEM_HOST_PATH="${BASE_SYSTEM_FORK_HOST_PATH}"
 fi
 
 artifacts/lava/lava_job_submitter.py \
 	--template artifacts/lava/lava.yml.jinja2 \
 	--pipeline-info "$CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
-	--base-artifacts-url ${ARTIFACTS_URL} \
-	--mesa-url ${MESA_URL} \
+	--base-system-url-prefix "https://${BASE_SYSTEM_HOST_PATH}" \
+	--mesa-build-url "${FDO_HTTP_CACHE_URI:-}https://${MESA_BUILD_PATH}" \
 	--device-type ${DEVICE_TYPE} \
 	--dtb ${DTB} \
 	--env-vars "${ENV_VARS} ${FIXED_ENV_VARS}" \
diff --git a/.gitlab-ci/lava/lava.yml.jinja2 b/.gitlab-ci/lava/lava.yml.jinja2
index f33988ae433..f55539acc0b 100644
--- a/.gitlab-ci/lava/lava.yml.jinja2
+++ b/.gitlab-ci/lava/lava.yml.jinja2
@@ -22,16 +22,16 @@ actions:
       minutes: 10
     to: tftp
     kernel:
-      url: {{ base_artifacts_url }}/{{ kernel_image_name }}
+      url: {{ base_system_url_prefix }}/{{ kernel_image_name }}
 {% if kernel_image_type %}
       {{ kernel_image_type }}
 {% endif %}
     nfsrootfs:
-      url: {{ base_artifacts_url }}/lava-rootfs.tgz
+      url: {{ base_system_url_prefix }}/lava-rootfs.tgz
       compression: gz
 {% if dtb %}
     dtb:
-      url: {{ base_artifacts_url }}/{{ dtb }}.dtb
+      url: {{ base_system_url_prefix }}/{{ dtb }}.dtb
 {% endif %}
     os: oe
 - boot:
@@ -82,7 +82,7 @@ actions:
           - echo "$NFS_SERVER_IP caching-proxy" >> /etc/hosts
           - for i in 1 2 3; do sntp -sS pool.ntp.org && break || sleep 2; done
 
-          - wget -S --progress=dot:giga -O- {{ mesa_url }} | tar -xz
+          - wget -S --progress=dot:giga -O- {{ mesa_build_url }} | tar -xz
           - mkdir -p $CI_PROJECT_DIR
           - ln -sf /install $CI_PROJECT_DIR/install
 
diff --git a/.gitlab-ci/lava/lava_job_submitter.py b/.gitlab-ci/lava/lava_job_submitter.py
index 5fee2d728ad..9ed098ce96a 100755
--- a/.gitlab-ci/lava/lava_job_submitter.py
+++ b/.gitlab-ci/lava/lava_job_submitter.py
@@ -55,8 +55,8 @@ def generate_lava_yaml(args):
 
     values = {}
     values['pipeline_info'] = args.pipeline_info
-    values['base_artifacts_url'] = args.base_artifacts_url
-    values['mesa_url'] = args.mesa_url
+    values['base_system_url_prefix'] = args.base_system_url_prefix
+    values['mesa_build_url'] = args.mesa_build_url
     values['device_type'] = args.device_type
     values['dtb'] = args.dtb
     values['kernel_image_name'] = args.kernel_image_name
@@ -201,8 +201,8 @@ if __name__ == '__main__':
 
     parser.add_argument("--template")
     parser.add_argument("--pipeline-info")
-    parser.add_argument("--base-artifacts-url")
-    parser.add_argument("--mesa-url")
+    parser.add_argument("--base-system-url-prefix")
+    parser.add_argument("--mesa-build-url")
     parser.add_argument("--device-type")
     parser.add_argument("--dtb", nargs='?', default="")
     parser.add_argument("--kernel-image-name")



More information about the mesa-commit mailing list