← Back to team overview

canonical-ubuntu-qa team mailing list archive

[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