Skip to content

Commit a25810d

Browse files
authored
Use kairos-init (#3130)
This uses Kairos init to build all images. X86, arm and UKI images are all build with init with a single docker file. Artifacts are then build from those, like isos or raw images Also drops a bit of earthly ik the build process to directly build with docker and call aurora directly as well, so we have 1 less layer of complexity. Ideally with this, only docker is needed locally to generate final artifacts, upgrade images, raw images, UKI artifacts (EFI, upgrade and iso) and so on. Init + aurora substitutes the earthly pipeline for building. Testing still relies on earthly for the ginkgo tests. --------- Signed-off-by: Itxaka <[email protected]>
1 parent 297d841 commit a25810d

40 files changed

+440
-3645
lines changed

.github/workflows/image-master.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ jobs:
320320
flavorRelease:
321321
- "leap-15.6"
322322
standard:
323-
uses: ./.github/workflows/reusable-build-provider.yaml
323+
uses: ./.github/workflows/reusable-build-flavor.yaml
324324
needs:
325325
- core
326326
permissions:

.github/workflows/image-pr.yaml

+22-65
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ jobs:
3838
model: generic
3939
variant: core
4040
arch: amd64
41-
4241
core-ubuntu-24-lts:
4342
uses: ./.github/workflows/reusable-build-flavor.yaml
4443
secrets: inherit
@@ -65,7 +64,6 @@ jobs:
6564
model: generic
6665
variant: core
6766
arch: amd64
68-
6967
core-ubuntu-24-10:
7068
uses: ./.github/workflows/reusable-build-flavor.yaml
7169
secrets: inherit
@@ -92,7 +90,6 @@ jobs:
9290
model: generic
9391
variant: core
9492
arch: amd64
95-
9693
core-alpine:
9794
uses: ./.github/workflows/reusable-build-flavor.yaml
9895
secrets: inherit
@@ -119,127 +116,99 @@ jobs:
119116
model: generic
120117
variant: core
121118
arch: amd64
122-
123-
standard:
124-
uses: ./.github/workflows/reusable-build-provider.yaml
125-
secrets: inherit
126-
permissions:
127-
id-token: write # OIDC support
128-
contents: write
129-
security-events: write
130-
actions: read
131-
attestations: read
132-
checks: read
133-
deployments: read
134-
discussions: read
135-
issues: read
136-
packages: read
137-
pages: read
138-
pull-requests: read
139-
repository-projects: read
140-
statuses: read
141-
with:
142-
flavor: opensuse
143-
flavor_release: "leap-15.6"
144-
family: opensuse
145-
base_image: opensuse/leap:15.6
146-
model: generic
147-
variant: standard
148-
arch: amd64
149-
150119
install:
151120
uses: ./.github/workflows/reusable-install-test.yaml
152121
secrets: inherit
153122
with:
154123
flavor: ubuntu
155124
flavor_release: "24.04"
156125
secureboot: false
126+
variant: core
157127
needs:
158128
- core-ubuntu-24-lts
159-
160129
install-target:
161130
secrets: inherit
162131
uses: ./.github/workflows/reusable-install-test-target.yaml
163132
with:
164133
flavor: ubuntu
165134
flavor_release: "24.04"
166135
secureboot: false
136+
variant: core
167137
needs:
168138
- core-ubuntu-24-lts
169-
170139
install-secureboot:
171140
uses: ./.github/workflows/reusable-install-test.yaml
172141
secrets: inherit
173142
with:
174143
flavor: ubuntu
175144
flavor_release: "24.04"
176145
secureboot: true
146+
variant: core
177147
needs:
178148
- core-ubuntu-24-lts
179-
180149
install-alpine:
181150
uses: ./.github/workflows/reusable-install-test.yaml
182151
secrets: inherit
183152
with:
184153
flavor: alpine
185154
flavor_release: "3.19"
155+
variant: core
186156
needs:
187157
- core-alpine
188-
189158
zfs:
190159
uses: ./.github/workflows/reusable-zfs-test.yaml
191160
secrets: inherit
192161
with:
193162
flavor: ubuntu
194163
flavor_release: "22.04"
164+
variant: core
195165
needs:
196166
- core-ubuntu-22-lts
197-
198167
acceptance:
199168
uses: ./.github/workflows/reusable-qemu-acceptance-test.yaml
200169
secrets: inherit
201170
with:
202171
flavor: ubuntu
203172
flavor_release: "24.04"
173+
variant: core
204174
needs:
205175
- core-ubuntu-24-lts
206-
207176
acceptance-alpine:
208177
uses: ./.github/workflows/reusable-qemu-acceptance-test.yaml
209178
secrets: inherit
210179
with:
211180
flavor: alpine
212181
flavor_release: "3.19"
182+
variant: core
213183
needs:
214184
- core-alpine
215-
216185
bundles:
217186
uses: ./.github/workflows/reusable-qemu-bundles-test.yaml
218187
secrets: inherit
219188
with:
220189
flavor: ubuntu
221190
flavor_release: "24.04"
191+
variant: core
222192
needs:
223193
- core-ubuntu-24-lts
224-
225194
reset:
226195
uses: ./.github/workflows/reusable-qemu-reset-test.yaml
227196
secrets: inherit
228197
with:
229198
flavor: ubuntu
230199
flavor_release: "24.04"
200+
variant: core
231201
needs:
232202
- core-ubuntu-24-lts
233-
234203
reset-alpine:
235204
uses: ./.github/workflows/reusable-qemu-reset-test.yaml
236205
secrets: inherit
237206
with:
238207
flavor: alpine
239208
flavor_release: "3.19"
209+
variant: core
240210
needs:
241211
- core-alpine
242-
243212
netboot:
244213
uses: ./.github/workflows/reusable-qemu-netboot-test.yaml
245214
secrets: inherit
@@ -252,7 +221,6 @@ jobs:
252221
variant: core
253222
needs:
254223
- core-ubuntu-24-lts
255-
256224
netboot-alpine:
257225
uses: ./.github/workflows/reusable-qemu-netboot-test.yaml
258226
secrets: inherit
@@ -265,45 +233,38 @@ jobs:
265233
variant: core
266234
needs:
267235
- core-alpine
268-
269236
upgrade:
270237
uses: ./.github/workflows/reusable-upgrade-with-cli-test.yaml
271238
secrets: inherit
272239
with:
273240
flavor: ubuntu
274241
flavor_release: "24.04"
242+
variant: core
243+
arch: amd64
275244
needs:
276245
- core-ubuntu-24-lts
277-
278246
upgrade-alpine:
279247
uses: ./.github/workflows/reusable-upgrade-with-cli-test.yaml
280248
secrets: inherit
281249
with:
282250
flavor: alpine
283251
flavor_release: "3.19"
252+
variant: core
253+
arch: amd64
284254
needs:
285255
- core-alpine
286-
287256
upgrade-latest:
288257
uses: ./.github/workflows/reusable-upgrade-latest-test.yaml
289258
secrets: inherit
290259
with:
291260
flavor: ubuntu
292261
flavor_release: "24.04"
293262
family: "ubuntu"
263+
variant: core
264+
arch: amd64
294265
# release_matcher: "23.10" # introduced so tests can be green while we wait for the kairos release with the latest flavor release
295266
needs:
296267
- core-ubuntu-24-lts
297-
298-
# enable once the first alpine only release is out as it currently cannot find the latest alpine release properly
299-
# upgrade-latest-alpine:
300-
# uses: ./.github/workflows/reusable-upgrade-latest-test.yaml
301-
# with:
302-
# flavor: alpine
303-
# flavor_release: "3.19"
304-
# needs:
305-
# - core-alpine
306-
307268
custom-partitioning:
308269
secrets: inherit
309270
uses: ./.github/workflows/reusable-custom-partitioning-test.yaml
@@ -323,24 +284,20 @@ jobs:
323284
repository-projects: read
324285
statuses: read
325286
with:
326-
flavor: ${{ matrix.flavor }}
327-
flavor_release: ${{ matrix.flavorRelease }}
287+
flavor: "ubuntu"
288+
flavor_release: "24.04"
289+
variant: core
290+
328291
needs:
329292
- core-ubuntu-24-lts
330-
strategy:
331-
fail-fast: true
332-
matrix:
333-
flavor:
334-
- "ubuntu"
335-
flavorRelease:
336-
- "24.04"
337293
encryption:
338294
secrets: inherit
339295
uses: ./.github/workflows/reusable-encryption-test.yaml
340296
with:
341297
flavor: ubuntu
342298
flavor_release: "24.04"
343299
label: ${{ matrix.label }}
300+
variant: core
344301
needs:
345302
- core-ubuntu-24-lts
346303
strategy:
@@ -352,14 +309,14 @@ jobs:
352309
- "remote-static"
353310
- "remote-https-pinned"
354311
- "remote-https-bad-cert"
355-
356312
encryption-alpine:
357313
secrets: inherit
358314
uses: ./.github/workflows/reusable-encryption-test.yaml
359315
with:
360316
flavor: alpine
361317
flavor_release: "3.19"
362318
label: ${{ matrix.label }}
319+
variant: core
363320
needs:
364321
- core-alpine
365322
strategy:

0 commit comments

Comments
 (0)