Merge ~paride/qa-jenkins-jobs:desktop-legacy-jobs into qa-jenkins-jobs:master

Proposed by Paride Legovini
Status: Merged
Merged at revision: 919030f24854e00ff6d6e2e2c0982ebb2a06d33a
Proposed branch: ~paride/qa-jenkins-jobs:desktop-legacy-jobs
Merge into: qa-jenkins-jobs:master
Diff against target: 219 lines (+71/-25)
1 file modified
jobs/iso-testing/jobs.yaml (+71/-25)
Reviewer Review Type Date Requested Status
Heather Ellsworth (community) Approve
Review via email: mp+437677@code.launchpad.net

Commit message

Add Lunar desktop-legacy jobs

To post a comment you must log in.
Revision history for this message
Heather Ellsworth (hellsworth) wrote :

lgtm!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/jobs/iso-testing/jobs.yaml b/jobs/iso-testing/jobs.yaml
2index cd48781..69b01c0 100644
3--- a/jobs/iso-testing/jobs.yaml
4+++ b/jobs/iso-testing/jobs.yaml
5@@ -27,6 +27,7 @@
6 name: 'iso-testing'
7 flavor: # Additional flavors can be added here
8 - 'ubuntu'
9+ variant: 'desktop'
10 release: # Additional releases can be added here
11 - 'focal'
12 - 'jammy'
13@@ -46,11 +47,37 @@
14 - 'oem'
15 node: 'iso-testing'
16 jobs:
17- - '{flavor}-{dev-release}-desktop-{arch}-iso-download'
18- - '{flavor}-{supported-release}-desktop-{arch}-iso-download'
19- - '{flavor}-{release}-desktop-{arch}-iso-static-validation'
20- - '{flavor}-{release}-desktop-{arch}-smoke-default'
21- - '{flavor}-{release}-desktop-{arch}-smoke-{desktop-test}'
22+ - '{flavor}-{dev-release}-{variant}-{arch}-iso-download'
23+ - '{flavor}-{supported-release}-{variant}-{arch}-iso-download'
24+ - '{flavor}-{release}-{variant}-{arch}-iso-static-validation'
25+ - '{flavor}-{release}-{variant}-{arch}-smoke-default'
26+ - '{flavor}-{release}-{variant}-{arch}-smoke-{desktop-test}'
27+ desktop-mailto:
28+ - 'jean-baptiste.lallement@canonical.com'
29+
30+- project:
31+ name: 'iso-testing-legacy'
32+ flavor:
33+ - 'ubuntu'
34+ variant: 'desktop-legacy'
35+ release:
36+ - 'lunar'
37+ dev-release:
38+ - 'lunar'
39+ arch:
40+ - 'amd64'
41+ desktop-test:
42+ - 'default_de'
43+ - 'health-check'
44+ - 'lvm'
45+ - 'min_config'
46+ - 'oem'
47+ node: 'iso-testing'
48+ jobs:
49+ - '{flavor}-{dev-release}-{variant}-{arch}-iso-download'
50+ - '{flavor}-{release}-{variant}-{arch}-iso-static-validation'
51+ - '{flavor}-{release}-{variant}-{arch}-smoke-default'
52+ - '{flavor}-{release}-{variant}-{arch}-smoke-{desktop-test}'
53 desktop-mailto:
54 - 'jean-baptiste.lallement@canonical.com'
55
56@@ -61,14 +88,33 @@
57 - shell: |
58 [ -d /data/iso/{flavor} ] || mkdir /data/iso/{flavor}
59 sleep $DOWNLOAD_SLEEP
60- download-latest-test-iso -r {release} -v {variant} -a {arch} -b pending -i /data/iso -f {flavor}
61+
62+ if [ "{variant}" = desktop-legacy ]; then
63+ # download-latest-test-iso doesn't know about desktop-legacy images, handle them
64+ # manually for now. For the future we should drop download-latest-test-iso and
65+ # rely on plain rsync or zsync (like the desktop jobs do).
66+ cd /data/iso/{flavor}
67+ iso="{release}-{variant}-{arch}.iso"
68+ zsync -q "http://cdimage.ubuntu.com/daily-legacy/pending/$iso.zsync"
69+ # zsync permissiong for the output file are 600, we need 644 for utah
70+ chmod 644 "$iso"
71+ else
72+ download-latest-test-iso -r {release} -v {variant} -a {arch} -b pending -i /data/iso -f {flavor}
73+ fi
74
75 - builder: # This step runs a specified iso test
76 name: run-iso-test
77 builders:
78 - shell: |
79+ # Special case: desktop-legacy has the same test suite of desktop
80+ if [ {variant} = desktop-legacy ]; then
81+ variant=desktop
82+ else
83+ variant={variant}
84+ fi
85+ iso=/var/cache/utah/iso/{release}-{variant}-{arch}.iso
86 cd qa-jenkins-jobs
87- ./scripts/iso-testing/run-iso-test.sh --test {test} --release {release} --variant {variant} --arch {arch}
88+ ./scripts/iso-testing/run-iso-test.sh --test {test} --release {release} --variant "$variant" --arch {arch} --iso "$iso"
89
90 - builder: # This step runs iso static validation
91 name: validate-iso
92@@ -144,7 +190,7 @@
93 # I'm not adding a job for that so it will never accidentally be deployed.
94
95 - job-template:
96- name: '{flavor}-{dev-release}-desktop-{arch}-iso-download'
97+ name: '{flavor}-{dev-release}-{variant}-{arch}-iso-download'
98 description: |
99 This job downloads the latest daily desktop iso
100 Defined in lp:qa-jenkins-jobs
101@@ -158,7 +204,7 @@
102 cron: 'H/15 * * * *' # The H allows jenkins to stagger jobs using a hash
103 polling-node: 'iso-testing'
104 urls:
105- - url: 'http://cdimage.ubuntu.com/{flavor}/daily-live/pending/SHA256SUMS'
106+ - url: 'http://cdimage.ubuntu.com/daily-legacy/pending/SHA256SUMS'
107 check-etag: false
108 check-date: true
109 check-content:
110@@ -166,12 +212,12 @@
111 builders:
112 - download-iso:
113 release: '{dev-release}'
114- variant: 'desktop'
115+ variant: '{variant}'
116 arch: '{arch}'
117 flavor: '{flavor}'
118
119 - job-template:
120- name: '{flavor}-{supported-release}-desktop-{arch}-iso-download'
121+ name: '{flavor}-{supported-release}-{variant}-{arch}-iso-download'
122 description: |
123 This job downloads the latest lts daily desktop iso
124 Defined in lp:qa-jenkins-jobs
125@@ -193,29 +239,29 @@
126 builders:
127 - download-iso:
128 release: '{supported-release}'
129- variant: 'desktop'
130+ variant: '{variant}'
131 arch: '{arch}'
132 flavor: '{flavor}'
133
134 - job-template:
135- name: '{flavor}-{release}-desktop-{arch}-iso-static-validation'
136+ name: '{flavor}-{release}-{variant}-{arch}-iso-static-validation'
137 description: |
138 This job runs static validation on a desktop iso
139 Defined in lp:qa-jenkins-jobs
140 node: 'iso-testing'
141 triggers:
142 - reverse: # Trigger after the download job succeeds
143- jobs: '{flavor}-{release}-desktop-{arch}-iso-download'
144+ jobs: '{flavor}-{release}-{variant}-{arch}-iso-download'
145 result: 'success'
146 builders:
147 - validate-iso:
148- iso: '/data/iso/{flavor}/{release}-desktop-{arch}.iso'
149+ iso: '/data/iso/{flavor}/{release}-{variant}-{arch}.iso'
150 release: '{release}'
151 arch: '{arch}'
152- variant: 'desktop'
153+ variant: '{variant}'
154
155 - job-template:
156- name: '{flavor}-{release}-desktop-{arch}-smoke-default'
157+ name: '{flavor}-{release}-{variant}-{arch}-smoke-default'
158 description: |
159 Run the default iso test on a desktop image
160 Defined in lp:qa-jenkins-jobs
161@@ -231,23 +277,23 @@
162 description: "Launchpad branch of qa-jenkins-jobs from which to pick the scripts from."
163 triggers:
164 - reverse: # Trigger after static validation succeeds
165- jobs: '{flavor}-{release}-desktop-{arch}-iso-static-validation'
166+ jobs: '{flavor}-{release}-{variant}-{arch}-iso-static-validation'
167 result: 'success'
168 builders:
169 - clear-artifacts:
170 - echo-media-info:
171- iso: '/var/cache/utah/iso/{release}-desktop-{arch}.iso'
172+ iso: '/var/cache/utah/iso/{release}-{variant}-{arch}.iso'
173 - git-shallow-clone:
174 project-url: '$QA_JENKINS_JOBS_BRANCH'
175 project-name: 'qa-jenkins-jobs'
176 - run-iso-test:
177 release: '{release}'
178- variant: 'desktop'
179+ variant: '{variant}'
180 arch: '{arch}'
181 test: 'default'
182 - write-parameters-file:
183 release: '{release}'
184- variant: 'desktop'
185+ variant: '{variant}'
186 arch: '{arch}'
187 flavor: '{flavor}'
188 publishers:
189@@ -257,7 +303,7 @@
190 - desktop-notifications
191
192 - job-template:
193- name: '{flavor}-{release}-desktop-{arch}-smoke-{desktop-test}'
194+ name: '{flavor}-{release}-{variant}-{arch}-smoke-{desktop-test}'
195 description: |
196 Run other desktop iso tests
197 Defined in lp:qa-jenkins-jobs
198@@ -273,18 +319,18 @@
199 description: "Launchpad branch of qa-jenkins-jobs from which to pick the scripts from."
200 triggers:
201 - reverse: # Trigger after the default test succeeds
202- jobs: '{flavor}-{release}-desktop-{arch}-smoke-default'
203+ jobs: '{flavor}-{release}-{variant}-{arch}-smoke-default'
204 result: 'success'
205 builders:
206 - clear-artifacts:
207 - echo-media-info:
208- iso: '/var/cache/utah/iso/{release}-desktop-{arch}.iso'
209+ iso: '/var/cache/utah/iso/{release}-{variant}-{arch}.iso'
210 - git-shallow-clone:
211 project-url: '$QA_JENKINS_JOBS_BRANCH'
212 project-name: 'qa-jenkins-jobs'
213 - run-iso-test:
214 release: '{release}'
215- variant: 'desktop'
216+ variant: '{variant}'
217 arch: '{arch}'
218 test: '{desktop-test}'
219 publishers:

Subscribers

People subscribed via source and target branches

to all changes: