Tim Andersson has proposed merging qa-jenkins-jobs:hit-timeout-unstable-return 
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/481088

Some more fixups for the hardware jobs!
-- 
Your team Canonical Platform QA Team is requested to review the proposed merge 
of qa-jenkins-jobs:hit-timeout-unstable-return into qa-jenkins-jobs:master.
diff --git a/jobs/hardware-iso-testing/jobs.yaml b/jobs/hardware-iso-testing/jobs.yaml
index e88ec7e..3031e5e 100644
--- a/jobs/hardware-iso-testing/jobs.yaml
+++ b/jobs/hardware-iso-testing/jobs.yaml
@@ -35,9 +35,9 @@
     test_case:
         - 'erase-and-reinstall'
         - 'entire-disk-with-zfs'
-        - 'entire-disk-with-zfs-plus-encryption'  # needs wait_for_text
+        # - 'entire-disk-with-zfs-plus-encryption'  # Match Text causing traceback
         - 'entire-disk-with-installer-update'
-        - 'entire-disk-with-lvm-and-encryption'  # needs wait_for_text
+        # - 'entire-disk-with-lvm-and-encryption'  # Match Text causing traceback
         - 'entire-disk-no-internet'
         - 'oem-install'
         - 'entire-disk-with-nvidia-drivers'
@@ -122,6 +122,9 @@
           default: 'installer-test-suite'
           description: branch of HIT to run tests from
     wrappers:
+      - timeout:
+          timeout: 180  # Needs to be long, in the case that multiple installer tests are in front in the queue
+          fail: true
       - workspace-cleanup
       - timestamps
       - credentials-binding:
@@ -133,27 +136,34 @@
             project: 'hit-{release}-test-case-dut-mapping'
             filter: '{release}-test-case-dut-mapping.json'
             which-build: last-successful
-        - shell: |
-            #!/bin/bash
-            set -ex
-            # get DUT_ID
-            DUT_ID=$(jq -r '."{test_case}"' {release}-test-case-dut-mapping.json)
-            # clone HIT and testflinger
-            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 https://github.com/canonical/testflinger
-            # set up venv
-            python3 -m venv env
-            . env/bin/activate
-            pip install testflinger/cli
-            pip install -r hardware-installer-testing/requirements.txt
-            # determine ISO url
-            development_release=$(distro-info --devel || echo UNKNOWN)
-            if [ {release} = $development_release ]; then
-                ISO_URL="https://tel-image-cache.canonical.com/cdimage/daily-live/current/{release}-desktop-amd64.iso";
-            else
-                ISO_URL="https://tel-image-cache.canonical.com/cdimage/{release}/daily-live/current/{release}-desktop-amd64.iso";
-            fi
-            # call job!
-            # Like this for now, just to test!
-            cd hardware-installer-testing/
-            ./scripts/call_testflinger_job_w_yarf.py --test-case {test_case} --c3-machine-id $DUT_ID --iso-url $ISO_URL --github-pat-token $GH_PAT --hit-branch $HIT_BRANCH --yarf-branch main
+        - shell:
+            command: |
+                #!/bin/bash
+                set -ex
+                # get DUT_ID
+                DUT_ID=$(jq -r '."{test_case}"' {release}-test-case-dut-mapping.json)
+                if [ $DUT_ID == 'null' ]; then
+                    echo "No dut assigned for this test case, exiting and marking build as unstable..."
+                    exit 2
+                fi
+                # clone HIT and testflinger
+                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 https://github.com/canonical/testflinger
+                # set up venv
+                python3 -m venv env
+                . env/bin/activate
+                pip install testflinger/cli
+                pip install -r hardware-installer-testing/requirements.txt
+                # determine ISO url
+                development_release=$(distro-info --devel || echo UNKNOWN)
+                if [ {release} = $development_release ]; then
+                    ISO_URL="https://tel-image-cache.canonical.com/cdimage/daily-live/current/{release}-desktop-amd64.iso";
+                else
+                    ISO_URL="https://tel-image-cache.canonical.com/cdimage/{release}/daily-live/current/{release}-desktop-amd64.iso";
+                fi
+                # call job!
+                # Like this for now, just to test!
+                cd hardware-installer-testing/
+                ./scripts/call_testflinger_job_w_yarf.py --test-case {test_case} --c3-machine-id $DUT_ID --iso-url $ISO_URL --github-pat-token $GH_PAT --hit-branch $HIT_BRANCH --yarf-branch main
+            unstable-return: 2
+
-- 
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

Reply via email to