mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

The current s3cp stopped working after the migration. Update to the latest mesa and ci-templates to get s3cp working again and adapt to recent changes in mesa-ci. Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Helen Koike <helen.fornazier@gmail.com> Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com> Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
105 lines
3.7 KiB
Bash
Executable file
105 lines
3.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: MIT
|
|
# shellcheck disable=SC2086 # we want word splitting
|
|
# shellcheck disable=SC1091 # paths only become valid at runtime
|
|
|
|
# If we run in the fork (not from mesa or Marge-bot), reuse mainline kernel and rootfs, if exist.
|
|
_check_artifact_path() {
|
|
_url="https://${1}/${2}"
|
|
if curl -s -o /dev/null -I -L -f --retry 4 --retry-delay 15 "${_url}"; then
|
|
echo -n "${_url}"
|
|
fi
|
|
}
|
|
|
|
get_path_to_artifact() {
|
|
_mainline_artifact="$(_check_artifact_path ${BASE_SYSTEM_MAINLINE_HOST_PATH} ${1})"
|
|
if [ -n "${_mainline_artifact}" ]; then
|
|
echo -n "${_mainline_artifact}"
|
|
return
|
|
fi
|
|
_fork_artifact="$(_check_artifact_path ${BASE_SYSTEM_FORK_HOST_PATH} ${1})"
|
|
if [ -n "${_fork_artifact}" ]; then
|
|
echo -n "${_fork_artifact}"
|
|
return
|
|
fi
|
|
set +x
|
|
error "Sorry, I couldn't find a viable built path for ${1} in either mainline or a fork." >&2
|
|
echo "" >&2
|
|
echo "If you're working on CI, this probably means that you're missing a dependency:" >&2
|
|
echo "this job ran ahead of the job which was supposed to upload that artifact." >&2
|
|
echo "" >&2
|
|
echo "If you aren't working on CI, please ping @mesa/ci-helpers to see if we can help." >&2
|
|
echo "" >&2
|
|
echo "This job is going to fail, because I can't find the resources I need. Sorry." >&2
|
|
set -x
|
|
exit 1
|
|
}
|
|
|
|
. "${SCRIPTS_DIR}/setup-test-env.sh"
|
|
|
|
section_start prepare_rootfs "Preparing root filesystem"
|
|
|
|
set -ex
|
|
|
|
ROOTFS_URL="$(get_path_to_artifact lava-rootfs.tar.zst)"
|
|
[ $? != 1 ] || exit 1
|
|
|
|
rm -rf results
|
|
mkdir -p results/job-rootfs-overlay/
|
|
|
|
artifacts/ci-common/export-gitlab-job-env-for-dut.sh \
|
|
> results/job-rootfs-overlay/set-job-env-vars.sh
|
|
cp artifacts/ci-common/init-*.sh results/job-rootfs-overlay/
|
|
cp "$SCRIPTS_DIR"/setup-test-env.sh results/job-rootfs-overlay/
|
|
|
|
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}"
|
|
|
|
# Prepare env vars for upload.
|
|
section_switch variables "Environment variables passed through to device:"
|
|
cat results/job-rootfs-overlay/set-job-env-vars.sh
|
|
|
|
section_switch lava_submit "Submitting job for scheduling"
|
|
|
|
touch results/lava.log
|
|
tail -f results/lava.log &
|
|
# Ensure that we are printing the commands that are being executed,
|
|
# making it easier to debug the job in case it fails.
|
|
set -x
|
|
PYTHONPATH=artifacts/ artifacts/lava/lava_job_submitter.py \
|
|
--farm "${FARM}" \
|
|
--device-type "${DEVICE_TYPE}" \
|
|
--boot-method "${BOOT_METHOD}" \
|
|
--job-timeout-min $((CI_JOB_TIMEOUT/60 - 5)) \
|
|
--dump-yaml \
|
|
--pipeline-info "$CI_JOB_NAME: $CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
|
|
--rootfs-url "${ROOTFS_URL}" \
|
|
--kernel-url-prefix "https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}" \
|
|
--kernel-external "${EXTERNAL_KERNEL_TAG}" \
|
|
--first-stage-init artifacts/ci-common/init-stage1.sh \
|
|
--dtb-filename "${DTB}" \
|
|
--jwt-file "${S3_JWT_FILE}" \
|
|
--kernel-image-name "${KERNEL_IMAGE_NAME}" \
|
|
--kernel-image-type "${KERNEL_IMAGE_TYPE}" \
|
|
--visibility-group "${VISIBILITY_GROUP}" \
|
|
--lava-tags "${LAVA_TAGS}" \
|
|
--mesa-job-name "$CI_JOB_NAME" \
|
|
--structured-log-file "results/lava_job_detail.json" \
|
|
--ssh-client-image "${LAVA_SSH_CLIENT_IMAGE}" \
|
|
--project-name "${CI_PROJECT_NAME}" \
|
|
--starting-section "${CURRENT_SECTION}" \
|
|
--job-submitted-at "${CI_JOB_STARTED_AT}" \
|
|
- append-overlay \
|
|
--name=kernel-build \
|
|
--url="${FDO_HTTP_CACHE_URI:-}https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/kernel-files.tar.zst" \
|
|
--compression=zstd \
|
|
--path="${CI_PROJECT_DIR}" \
|
|
--format=tar \
|
|
- append-overlay \
|
|
--name=job-overlay \
|
|
--url="https://${JOB_ROOTFS_OVERLAY_PATH}" \
|
|
--compression=gz \
|
|
--path="/" \
|
|
--format=tar \
|
|
- submit \
|
|
>> results/lava.log
|