Tim Andersson has proposed merging qa-jenkins-jobs:rf-vm-iso-tests 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/482575 Adds iso testing in a VM with robot framework! Here's the test job: https://platform-qa-jenkins.ps5.ubuntu.com/job/zzz-tim-robot-framework-iso-test/ Just for noble, for now, we can add other releases as we please. We can also integrate this in the image promotion, in the near future! -- Your team Canonical Platform QA Team is requested to review the proposed merge of qa-jenkins-jobs:rf-vm-iso-tests into qa-jenkins-jobs:master.
diff --git a/jobs/robot-framework-iso-testing/jobs.yaml b/jobs/robot-framework-iso-testing/jobs.yaml new file mode 100644 index 0000000..cd1515e --- /dev/null +++ b/jobs/robot-framework-iso-testing/jobs.yaml @@ -0,0 +1,99 @@ +--- +# vim: sw=4 ts=4 et + +# QA Jenkins Jobs +# Copyright 2016 Canonical Ltd. + +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 3, as published +# by the Free Software Foundation. + +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranties of +# MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License along +# with this program. If not, see <http://www.gnu.org/licenses/>. + +# The project stanza describes all jobs and parameters + + +# Potential future improvements: +# - throttle concurrent builds +# - lockable resources +# - exclusion + +- project: + name: 'robot-framework-iso-testing' + release: + - 'noble' + test_case: + - 'entire-disk' + jobs: + - 'robot-framework-{release}-desktop-{test_case}' + +- job-template: + name: 'robot-framework-{release}-desktop-{test_case}' + description: | + Runs a test case on a VM + parameters: + - string: + name: HIT_BRANCH + default: 'main' + description: branch of HIT to run tests from + triggers: + - pollurl: + cron: '@hourly' + polling-node: 'iso-testing' + urls: + - url: 'http://cdimage.ubuntu.com/daily-live/pending/.publish_info#robot-framework-{release}-desktop-{test_case}' + check-content: + - text: + - '^{release}-.*.iso .+$' + - url: 'http://cdimage.ubuntu.com/{release}/daily-live/pending/.publish_info#robot-framework-{release}-desktop-{test_case}' + check-content: + - text: + - '^{release}-.*.iso .+$' + wrappers: + - timeout: + timeout: 60 + fail: true + - workspace-cleanup + - timestamps + - credentials-binding: + - text: + credential-id: GH_PAT + variable: GH_PAT + builders: + - clear-artifacts + - shell: + 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" + else + ISO_URL="https://cdimage.ubuntu.com/{release}/daily-live/current/{release}-desktop-amd64.iso" + fi + ISO_NAME='{release}-desktop-amd64.iso' + retry -d 60 -t 5 -- wget -nv -c "$ISO_URL" + # clone HIT and yarf + retry -t 3 -d 180 -- git clone -b $HIT_BRANCH https://oauth2:$gh_...@github.com/canonical/hardware-installer-testing.git + retry -t 3 -d 180 -- git clone -b main https://oauth2:$gh_...@github.com/canonical/yarf.git + # set up venv + sudo apt install -y clang libxkbcommon-dev tesseract-ocr + cd yarf/ + pip3 install uv + ~/.local/bin/uv sync + ~/.local/bin/uv pip install .[develop] + . .venv/bin/activate + cd ../hardware-installer-testing + pip install -r requirements.txt + ./runner/spawn_and_run_test_suite.py --test-suite robot/test-cases/{test_case} --iso-path ../$ISO_NAME --qemu-args-json ./runner/qemu-args.json + publishers: + - archive: + artifacts: 'hardware-installer-testing/artifacts/*' + allow-empty: 'true'
-- Mailing list: https://launchpad.net/~canonical-ubuntu-qa Post to : canonical-ubuntu-qa@lists.launchpad.net Unsubscribe : https://launchpad.net/~canonical-ubuntu-qa More help : https://help.launchpad.net/ListHelp