1#!/bin/bash 2# SPDX-License-Identifier: MIT 3 4set -e 5set -x 6 7# Try to use the kernel and rootfs built in mainline first, so we're more 8# likely to hit cache 9if curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s "https://${BASE_SYSTEM_MAINLINE_HOST_PATH}/done"; then 10 BASE_SYSTEM_HOST_PATH="${BASE_SYSTEM_MAINLINE_HOST_PATH}" 11else 12 BASE_SYSTEM_HOST_PATH="${BASE_SYSTEM_FORK_HOST_PATH}" 13fi 14 15rm -rf results 16mkdir -p results/job-rootfs-overlay/ 17 18cp artifacts/ci-common/capture-devcoredump.sh results/job-rootfs-overlay/ 19cp artifacts/ci-common/init-*.sh results/job-rootfs-overlay/ 20cp artifacts/ci-common/intel-gpu-freq.sh results/job-rootfs-overlay/ 21cp "$SCRIPTS_DIR"/setup-test-env.sh results/job-rootfs-overlay/ 22 23# Prepare env vars for upload. 24section_start variables "Variables passed through:" 25KERNEL_IMAGE_BASE="https://${BASE_SYSTEM_HOST_PATH}" \ 26 artifacts/ci-common/generate-env.sh | tee results/job-rootfs-overlay/set-job-env-vars.sh 27section_end variables 28 29tar zcf job-rootfs-overlay.tar.gz -C results/job-rootfs-overlay/ . 30ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" job-rootfs-overlay.tar.gz "https://${JOB_ROOTFS_OVERLAY_PATH}" 31 32touch results/lava.log 33tail -f results/lava.log & 34 35PYTHONPATH=artifacts/ artifacts/lava/lava_job_submitter.py \ 36 submit \ 37 --dump-yaml \ 38 --pipeline-info "$CI_JOB_NAME: $CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \ 39 --rootfs-url-prefix "https://${BASE_SYSTEM_HOST_PATH}" \ 40 --kernel-url-prefix "https://${PIPELINE_ARTIFACTS_BASE}/${ARCH}" \ 41 --build-url "${FDO_HTTP_CACHE_URI:-}https://${PIPELINE_ARTIFACTS_BASE}/${ARCH}/kernel-files.tar.zst" \ 42 --job-rootfs-overlay-url "${FDO_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}" \ 43 --job-timeout-min ${JOB_TIMEOUT:-80} \ 44 --first-stage-init artifacts/ci-common/init-stage1.sh \ 45 --ci-project-dir "${CI_PROJECT_DIR}" \ 46 --device-type "${DEVICE_TYPE}" \ 47 --dtb-filename "${DTB}" \ 48 --jwt-file "${CI_JOB_JWT_FILE}" \ 49 --kernel-image-name "${KERNEL_IMAGE_NAME}" \ 50 --kernel-image-type "${KERNEL_IMAGE_TYPE}" \ 51 --boot-method "${BOOT_METHOD}" \ 52 --visibility-group "${VISIBILITY_GROUP}" \ 53 --lava-tags "${LAVA_TAGS}" \ 54 --mesa-job-name "$CI_JOB_NAME" \ 55 --structured-log-file "results/lava_job_detail.json" \ 56 --ssh-client-image "${LAVA_SSH_CLIENT_IMAGE}" \ 57 >> results/lava.log 58