Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/ci: uprev mesa version

zlib.net is not allowing tarball download anymore and results
in below error in kernel+rootfs_arm32 container build,
urllib.error.HTTPError: HTTP Error 403: Forbidden
urllib.error.HTTPError: HTTP Error 415: Unsupported Media Type

Uprev mesa to latest version which includes a fix for this issue.
https://gitlab.freedesktop.org/mesa/mesa/-/commit/908f444e

Use id_tokens for JWT authentication. Since s3 bucket is migrated to
mesa-rootfs, update the variables accordingly. Also copy helper scripts
to install, so that the ci jobs can use these scripts for logging.

Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Acked-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: Helen Koike <helen.koike@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240529024049.356327-2-vignesh.raman@collabora.com

authored by

Vignesh Raman and committed by
Helen Koike
cc806b74 3ed96977

+41 -27
+1 -1
drivers/gpu/drm/ci/build-igt.sh
··· 32 32 # Pass needed files to the test stage 33 33 S3_ARTIFACT_NAME="igt.tar.gz" 34 34 gzip -c artifacts/igt.tar > ${S3_ARTIFACT_NAME} 35 - ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" ${S3_ARTIFACT_NAME} https://${PIPELINE_ARTIFACTS_BASE}/${KERNEL_ARCH}/${S3_ARTIFACT_NAME} 35 + ci-fairy s3cp --token-file "${S3_JWT_FILE}" ${S3_ARTIFACT_NAME} https://${PIPELINE_ARTIFACTS_BASE}/${KERNEL_ARCH}/${S3_ARTIFACT_NAME}
+4 -2
drivers/gpu/drm/ci/build.sh
··· 131 131 # Pass needed files to the test stage 132 132 mkdir -p install 133 133 cp -rfv .gitlab-ci/* install/. 134 + cp -rfv ci/* install/. 134 135 cp -rfv install/common install/ci-common 135 136 cp -rfv drivers/gpu/drm/ci/* install/. 136 137 ··· 145 144 FILES_TO_UPLOAD="$FILES_TO_UPLOAD $(basename -a $DEVICE_TREES)" 146 145 fi 147 146 147 + ls -l "${S3_JWT_FILE}" 148 148 for f in $FILES_TO_UPLOAD; do 149 - ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" /lava-files/$f \ 149 + ci-fairy s3cp --token-file "${S3_JWT_FILE}" /lava-files/$f \ 150 150 https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/$f 151 151 done 152 152 153 153 S3_ARTIFACT_NAME="kernel-files.tar.zst" 154 154 tar --zstd -cf $S3_ARTIFACT_NAME install 155 - ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" ${S3_ARTIFACT_NAME} https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/${S3_ARTIFACT_NAME} 155 + ci-fairy s3cp --token-file "${S3_JWT_FILE}" ${S3_ARTIFACT_NAME} https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/${S3_ARTIFACT_NAME} 156 156 157 157 echo "Download vmlinux.xz from https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/vmlinux.xz" 158 158 fi
+4 -8
drivers/gpu/drm/ci/container.yml
··· 36 36 rules: 37 37 - when: never 38 38 39 - debian/x86_64_test-android: 39 + .debian/x86_64_test-android: 40 40 rules: 41 41 - when: never 42 42 43 - windows_build_vs2019: 43 + windows_build_msvc: 44 44 rules: 45 45 - when: never 46 46 47 - windows_test_vs2019: 47 + windows_test_msvc: 48 48 rules: 49 49 - when: never 50 50 ··· 56 56 rules: 57 57 - when: never 58 58 59 - windows_vs2019: 60 - rules: 61 - - when: never 62 - 63 - clang-format: 59 + windows_msvc: 64 60 rules: 65 61 - when: never
+29 -13
drivers/gpu/drm/ci/gitlab-ci.yml
··· 1 1 variables: 2 2 DRM_CI_PROJECT_PATH: &drm-ci-project-path mesa/mesa 3 - DRM_CI_COMMIT_SHA: &drm-ci-commit-sha 9d162de9a05155e1c4041857a5848842749164cf 3 + DRM_CI_COMMIT_SHA: &drm-ci-commit-sha e2b9c5a9e3e4f9b532067af8022eaef8d6fc6c00 4 4 5 5 UPSTREAM_REPO: git://anongit.freedesktop.org/drm/drm 6 6 TARGET_BRANCH: drm-next ··· 19 19 bash download-git-cache.sh 20 20 rm download-git-cache.sh 21 21 set +o xtrace 22 + S3_JWT_FILE: /s3_jwt 22 23 S3_HOST: s3.freedesktop.org 24 + # This bucket is used to fetch the kernel image 25 + S3_KERNEL_BUCKET: mesa-rootfs 26 + # Bucket for git cache 27 + S3_GITCACHE_BUCKET: git-cache 28 + # Bucket for the pipeline artifacts pushed to S3 29 + S3_ARTIFACTS_BUCKET: artifacts 23 30 # per-pipeline artifact storage on MinIO 24 - PIPELINE_ARTIFACTS_BASE: ${S3_HOST}/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID} 31 + PIPELINE_ARTIFACTS_BASE: ${S3_HOST}/${S3_ARTIFACTS_BUCKET}/${CI_PROJECT_PATH}/${CI_PIPELINE_ID} 25 32 # per-job artifact storage on MinIO 26 33 JOB_ARTIFACTS_BASE: ${PIPELINE_ARTIFACTS_BASE}/${CI_JOB_ID} 27 34 # default kernel for rootfs before injecting the current kernel tree 28 35 KERNEL_REPO: "gfx-ci/linux" 29 - KERNEL_TAG: "v6.6.4-for-mesa-ci-e4f4c500f7fb" 30 - KERNEL_IMAGE_BASE: https://${S3_HOST}/mesa-lava/${KERNEL_REPO}/${KERNEL_TAG} 36 + KERNEL_TAG: "v6.6.21-mesa-f8ea" 37 + KERNEL_IMAGE_BASE: https://${S3_HOST}/${S3_KERNEL_BUCKET}/${KERNEL_REPO}/${KERNEL_TAG} 38 + PKG_REPO_REV: "3cc12a2a" 31 39 LAVA_TAGS: subset-1-gfx 32 40 LAVA_JOB_PRIORITY: 30 41 + ARTIFACTS_BASE_URL: https://${CI_PROJECT_ROOT_NAMESPACE}.${CI_PAGES_DOMAIN}/-/${CI_PROJECT_NAME}/-/jobs/${CI_JOB_ID}/artifacts 42 + # Python scripts for structured logger 43 + PYTHONPATH: "$PYTHONPATH:$CI_PROJECT_DIR/install" 33 44 34 45 default: 46 + id_tokens: 47 + S3_JWT: 48 + aud: https://s3.freedesktop.org 35 49 before_script: 36 50 - export SCRIPTS_DIR=$(mktemp -d) 37 51 - curl -L -s --retry 4 -f --retry-all-errors --retry-delay 60 -O --output-dir "${SCRIPTS_DIR}" "${DRM_CI_PROJECT_URL}/-/raw/${DRM_CI_COMMIT_SHA}/.gitlab-ci/setup-test-env.sh" 38 52 - source ${SCRIPTS_DIR}/setup-test-env.sh 39 53 - echo -e "\e[0Ksection_start:$(date +%s):unset_env_vars_section[collapsed=true]\r\e[0KUnsetting vulnerable environment variables" 40 - - export CI_JOB_JWT_FILE="${CI_JOB_JWT_FILE:-$(mktemp)}" 41 - - echo -n "${CI_JOB_JWT}" > "${CI_JOB_JWT_FILE}" 42 - - unset CI_JOB_JWT 54 + - echo -n "${S3_JWT}" > "${S3_JWT_FILE}" 55 + - unset CI_JOB_JWT S3_JWT 43 56 - echo -e "\e[0Ksection_end:$(date +%s):unset_env_vars_section\r\e[0K" 44 57 45 58 - echo -e "\e[0Ksection_start:$(date +%s):drm_ci_download_section[collapsed=true]\r\e[0KDownloading mesa from $DRM_CI_PROJECT_URL/-/archive/$DRM_CI_COMMIT_SHA/mesa-$DRM_CI_COMMIT_SHA.tar.gz" 46 59 - cd $CI_PROJECT_DIR 47 60 - curl --output - $DRM_CI_PROJECT_URL/-/archive/$DRM_CI_COMMIT_SHA/mesa-$DRM_CI_COMMIT_SHA.tar.gz | tar -xz 48 61 - mv mesa-$DRM_CI_COMMIT_SHA/.gitlab-ci* . 62 + - mv mesa-$DRM_CI_COMMIT_SHA/bin/ci . 49 63 - rm -rf mesa-$DRM_CI_COMMIT_SHA/ 50 64 - echo -e "\e[0Ksection_end:$(date +%s):drm_ci_download_section\r\e[0K" 51 65 ··· 67 53 - > 68 54 set +x 69 55 70 - test -e "${CI_JOB_JWT_FILE}" && 71 - export CI_JOB_JWT="$(<${CI_JOB_JWT_FILE})" && 72 - rm "${CI_JOB_JWT_FILE}" 56 + test -e "${S3_JWT_FILE}" && 57 + export S3_JWT="$(<${S3_JWT_FILE})" && 58 + rm "${S3_JWT_FILE}" 73 59 74 60 include: 75 61 - project: 'freedesktop/ci-templates' ··· 101 87 - '/src/intel/ci/gitlab-ci-inc.yml' 102 88 - '/src/freedreno/ci/gitlab-ci-inc.yml' 103 89 - '/src/amd/ci/gitlab-ci-inc.yml' 90 + - '/src/virtio/ci/gitlab-ci-inc.yml' 104 91 - drivers/gpu/drm/ci/image-tags.yml 105 92 - drivers/gpu/drm/ci/container.yml 106 93 - drivers/gpu/drm/ci/static-checks.yml ··· 113 98 stages: 114 99 - sanity 115 100 - container 101 + - code-validation 116 102 - git-archive 117 103 - build 118 104 - amdgpu ··· 123 107 - msm 124 108 - rockchip 125 109 - virtio-gpu 126 - - lint 127 110 128 111 # YAML anchors for rule conditions 129 112 # -------------------------------- ··· 233 218 script: 234 219 # Remove drm-ci files we just added 235 220 - rm -rf .gitlab-ci.* 221 + - rm -rf ci 236 222 237 223 # Compactify the .git directory 238 224 - git gc --aggressive 239 225 # compress the current folder 240 226 - tar -cvzf ../$CI_PROJECT_NAME.tar.gz . 241 227 242 - # login with the JWT token file 243 - - ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" ../$CI_PROJECT_NAME.tar.gz https://$S3_HOST/git-cache/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME.tar.gz 228 + # Use id_tokens for JWT auth 229 + - ci-fairy s3cp --token-file "${S3_JWT_FILE}" ../$CI_PROJECT_NAME.tar.gz https://$S3_HOST/${S3_GITCACHE_BUCKET}/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME.tar.gz 244 230 245 231 246 232 # Sanity checks of MR settings and commit logs
+1 -1
drivers/gpu/drm/ci/image-tags.yml
··· 1 1 variables: 2 - CONTAINER_TAG: "2023-10-11-mesa-uprev" 2 + CONTAINER_TAG: "2024-05-09-mesa-uprev" 3 3 DEBIAN_X86_64_BUILD_BASE_IMAGE: "debian/x86_64_build-base" 4 4 DEBIAN_BASE_TAG: "${CONTAINER_TAG}" 5 5
+2 -2
drivers/gpu/drm/ci/lava-submit.sh
··· 27 27 section_end variables 28 28 29 29 tar zcf job-rootfs-overlay.tar.gz -C results/job-rootfs-overlay/ . 30 - ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" job-rootfs-overlay.tar.gz "https://${JOB_ROOTFS_OVERLAY_PATH}" 30 + ci-fairy s3cp --token-file "${S3_JWT_FILE}" job-rootfs-overlay.tar.gz "https://${JOB_ROOTFS_OVERLAY_PATH}" 31 31 32 32 touch results/lava.log 33 33 tail -f results/lava.log & ··· 45 45 --ci-project-dir "${CI_PROJECT_DIR}" \ 46 46 --device-type "${DEVICE_TYPE}" \ 47 47 --dtb-filename "${DTB}" \ 48 - --jwt-file "${CI_JOB_JWT_FILE}" \ 48 + --jwt-file "${S3_JWT_FILE}" \ 49 49 --kernel-image-name "${KERNEL_IMAGE_NAME}" \ 50 50 --kernel-image-type "${KERNEL_IMAGE_TYPE}" \ 51 51 --boot-method "${BOOT_METHOD}" \