canonical-ubuntu-qa team mailing list archive
-
canonical-ubuntu-qa team
-
Mailing list archive
-
Message #04545
[Merge] ~andersson123/qa-jenkins-jobs:add-zapper-jobs into qa-jenkins-jobs:master
Tim Andersson has proposed merging ~andersson123/qa-jenkins-jobs:add-zapper-jobs into qa-jenkins-jobs:master.
Requested reviews:
Canonical Platform QA Team (canonical-platform-qa)
For more details, see:
https://code.launchpad.net/~andersson123/qa-jenkins-jobs/+git/qa-jenkins-jobs/+merge/468345
--
Your team Canonical Platform QA Team is requested to review the proposed merge of ~andersson123/qa-jenkins-jobs:add-zapper-jobs into qa-jenkins-jobs:master.
diff --git a/jobs/hardware-iso-testing/jobs.yaml b/jobs/hardware-iso-testing/jobs.yaml
new file mode 100644
index 0000000..43111cc
--- /dev/null
+++ b/jobs/hardware-iso-testing/jobs.yaml
@@ -0,0 +1,92 @@
+---
+# 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
+- project:
+ name: 'hardware-iso-testing-setup'
+ node: 'hardware-iso-testing'
+ jobs:
+ - 'hardware-iso-testing-setup'
+ # - 'mark-pending-current'
+
+- project:
+ name: 'hardware-iso-testing'
+ # flavor: # in the future we may run installer tests on flavors
+ variant: 'desktop' # maybe laterally this can also include pi's?
+ release:
+ - 'noble'
+ - 'oracular'
+ test-case:
+ - 'end-to-end-test'
+ client-machine:
+ - 'client_1'
+ node: 'venonat'
+ jobs:
+ - 'hardware-{release}-{variant}-installer-test-{test-case}-{client-machine}'
+
+# builder stanzas describe reusable build steps
+- builder:
+ name: run-hardware-installer-test
+ builders:
+ - shell: |
+ cd hardware-installer-testing/
+ git checkout installer-test-suite
+ # make a venv for this
+ python3 -m venv venv
+ source venv/bin/activate
+ pip3 install rpyc==5.3.1
+ machine_ip=$(jq --raw-output '.{client-machine}' "${HARDWARE_TESTING_CLIENTS_JSON}")
+ python3 ./scripts/call_job.py --job-config test-definitions/{release}/{test-case}.json --client-ip "${machine_ip}"
+
+
+# job templates!
+# Okay, I think the below should be enough to have this run.
+# First I will get it running in jenkins manually
+# Need to figure out how to keep the artifacts i.e. the html
+- job-template:
+ name: 'hardware-{release}-{variant}-installer-test-{test-case}-{client-machine}'
+ description: |
+ Runs a test defined in gh:/canonical/hardware-installer-testing
+ node: 'venonat'
+ parameters:
+ - string:
+ name: HW_INSTALLER_TESTING_BRANCH
+ default: main
+ description: "github branch of hardware-installer-testing from which to run the tests from."
+ # triggers: # to be added
+ wrappers:
+ - timeout:
+ timeout: 3600
+ fail: true
+ - timestamps
+ - credentials-binding:
+ - file:
+ credential-id: hardware-testing-clients
+ variable: HARDWARE_TESTING_CLIENTS_JSON
+ builders:
+ - clear-artifacts:
+ - git-shallow-clone:
+ project-url: 'https://github.com/canonical/hardware-installer-testing.git'
+ project-name: 'hardware-installer-testing'
+ - run-hardware-installer-test:
+ release: '{release}'
+ test-case: '{test-case}'
+ client-machine: '{client-machine}'
+ publishers:
+ - archive:
+ artifacts: '*.html'
diff --git a/scripts/iso-testing/run-autoinstall b/scripts/iso-testing/run-autoinstall
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scripts/iso-testing/run-autoinstall
Follow ups