canonical-ubuntu-qa team mailing list archive
-
canonical-ubuntu-qa team
-
Mailing list archive
-
Message #07559
[Merge] qa-jenkins-jobs:cache-images-rf-jobs into qa-jenkins-jobs:master
Tim Andersson has proposed merging qa-jenkins-jobs:cache-images-rf-jobs into qa-jenkins-jobs:master.
Requested reviews:
Canonical Platform QA Team (canonical-platform-qa)
For more details, see:
https://code.launchpad.net/~canonical-platform-qa/qa-jenkins-jobs/+git/qa-jenkins-jobs/+merge/486319
cache desktop isos
--
Your team Canonical Platform QA Team is requested to review the proposed merge of qa-jenkins-jobs:cache-images-rf-jobs into qa-jenkins-jobs:master.
diff --git a/jobs/robot-framework-iso-testing/jobs.yaml b/jobs/robot-framework-iso-testing/jobs.yaml
index e47e9aa..02e2ea9 100644
--- a/jobs/robot-framework-iso-testing/jobs.yaml
+++ b/jobs/robot-framework-iso-testing/jobs.yaml
@@ -71,17 +71,40 @@
command: |
#!/bin/bash
set -ex
- # determine ISO url
development_release=$(distro-info --devel || echo UNKNOWN)
if [ {release} = $development_release ]; then
- ISO_URL="https://cdimage.ubuntu.com/daily-live/current/{release}-desktop-amd64.iso"
+ BASE_URL="https://cdimage.ubuntu.com/daily-live/current/"
else
- ISO_URL="https://cdimage.ubuntu.com/{release}/daily-live/current/{release}-desktop-amd64.iso"
+ BASE_URL="https://cdimage.ubuntu.com/{release}/daily-live/current/"
fi
+ ISO_NAME="{release}-desktop-amd64.iso"
+ ISO_URL="${BASE_URL}${ISO_NAME}"
+ SHASUM_URL="${BASE_URL}SHA256SUMS"
+ SHASUM_TMP=$(mktemp)
+ CACHE_DIR="/home/ubuntu/.image_cache/{release}/"
+ mkdir -p "${CACHE_DIR}"
+ if test -f "${CACHE_DIR}${ISO_NAME}" && test -f "${CACHE_DIR}SHA256SUMS"; then
+ wget -O "${SHASUM_TMP}" "${SHASUM_URL}"
+ tmpdir_shasum=$(grep "${ISO_NAME}" < "${SHASUM_TMP}" | cut -d" " -f1)
+ rm "${SHASUM_TMP}"
+ cache_shasum=$(grep "${ISO_NAME}" < "${CACHE_DIR}SHA256SUMS" | cut -d" " -f1)
+ if [[ "${tmpdir_shasum}" == "${cache_shasum}" ]]; then
+ exit 0
+ else
+ rm "${CACHE_DIR}*"
+ fi
+ fi
+ retry -t 3 -d 180 -- wget "${ISO_URL}" -P "${CACHE_DIR}"
+ retry -t 3 -d 180 -- wget "${SHASUM_URL}" -P "${CACHE_DIR}"
+ - shell:
+ command: |
+ #!/bin/bash
+ set -ex
# clone HIT and yarf
retry -t 3 -d 180 -- git clone -b "$HIT_BRANCH" https://oauth2:"$GH_PAT"@github.com/canonical/hardware-installer-testing.git
retry -t 3 -d 180 -- git clone -b main https://oauth2:"$GH_PAT"@github.com/canonical/yarf.git
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y clang libxkbcommon-dev tesseract-ocr
+ ISO_PATH="/home/ubuntu/.image_cache/{release}/{release}-desktop-amd64.iso"
cd yarf/
sudo snap install astral-uv --classic
# set up venv
@@ -89,7 +112,7 @@
. .venv/bin/activate
uv pip install .[develop] -r ../hardware-installer-testing/requirements.txt
cd ../hardware-installer-testing
- ./runner/spawn_and_run_test_suite.py --test-suite robot/test-cases/{release}/{test_case} --iso "$ISO_URL" --qemu-args-json ./runner/qemu-args.json --cleanup
+ ./runner/spawn_and_run_test_suite.py --test-suite robot/test-cases/{release}/{test_case} --iso "${ISO_PATH}" --qemu-args-json ./runner/qemu-args.json --cleanup-storage
publishers:
- archive:
artifacts: 'hardware-installer-testing/artifacts/*'
Follow ups