lava-submit.sh 2.3 KB

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