forked from coreos/coreos-installer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.cci.jenkinsfile
47 lines (40 loc) · 1.94 KB
/
.cci.jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Documentation: https://github.com/coreos/coreos-ci/blob/main/README-upstream-ci.md
buildPod {
checkout scm
stage("Build") {
shwrap("make && make install DESTDIR=install")
stash name: 'build', includes: 'install/**'
}
}
cosaPod(buildroot: true, runAsUser: 0) {
checkout scm
unstash name: 'build'
// Make sure cosa is using the binary we just built.
shwrap("rsync -rlv install/usr/ /usr/")
// we don't need the qemu image to test coreos-installer; just the OSTree
fcosBuild(overlays: ["install"], skipKola: true, extraArgs: 'ostree')
stage("Build metal+live") {
shwrap("cd /srv/fcos && cosa buildextend-metal")
shwrap("cd /srv/fcos && cosa buildextend-metal4k")
shwrap("cd /srv/fcos && cosa buildextend-live --fast")
// Test metal with an uncompressed image and metal4k with a
// compressed one
shwrap("cd /srv/fcos && cosa compress --fast --artifact=metal4k")
}
stage("Test ISO") {
// No need to run the iso-live-login scenario (in theory, and also right
// now it's buggy)
try {
parallel metal: {
shwrap("cd /srv/fcos && kola testiso -S --scenarios pxe-install,pxe-offline-install,iso-install,iso-offline-install --output-dir tmp/kola-testiso-metal")
}, metal4k: {
shwrap("cd /srv/fcos && kola testiso -S --scenarios iso-install,iso-offline-install --qemu-native-4k --output-dir tmp/kola-testiso-metal4k")
}
} finally {
shwrap("cd /srv/fcos && tar -cf - tmp/kola-testiso-metal/ | xz -c9 > ${env.WORKSPACE}/kola-testiso-metal.tar.xz")
shwrap("cd /srv/fcos && tar -cf - tmp/kola-testiso-metal4k/ | xz -c9 > ${env.WORKSPACE}/kola-testiso-metal4k.tar.xz")
archiveArtifacts allowEmptyArchive: true, artifacts: 'kola-testiso*.tar.xz'
}
shwrap("tests/test-iso-kargs.sh /srv/fcos/builds/latest/x86_64/*.iso")
}
}