Files
ostree/.cci.jenkinsfile
T
Colin Walters 2838f42eec ci: Drop libsoup build in jenkins
GH actions is fast zero cost system that covers these build matrix
things well.  Let's keep our Fedora CI system doing more of the
qemu heavy lifting.
2022-05-31 10:44:41 -04:00

77 lines
2.3 KiB
Plaintext

// Documentation: https://github.com/coreos/coreos-ci/blob/main/README-upstream-ci.md
stage("Build") {
def n = 5
buildPod(memory: "2Gi", cpu: "${n}") {
checkout scm
stage("Core build") {
shwrap("""
# fetch tags so `git describe` gives a nice NEVRA when building the RPM
git fetch origin --tags
git submodule update --init
env MAKE_JOBS=${n} SKIP_INSTALLDEPS=1 ./ci/build.sh
""")
}
stage("Unit tests") {
try {
shwrap("""
make check
make syntax-check
""")
} finally {
shwrap("cat test-suite.log || true")
archiveArtifacts allowEmptyArchive: true, artifacts: 'test-suite.log'
}
}
stage("Build installed tests") {
shwrap("make -C tests/kolainst")
}
stage("Generate artifacts") {
shwrap("""
make install DESTDIR=\$(pwd)/installed/rootfs
make -C tests/kolainst install DESTDIR=\$(pwd)/installed/tests
""")
}
stash includes: "installed/", name: 'build'
}
}
// Build FCOS and do a kola basic run
stage("FCOS") {
cosaPod(runAsUser: 0, memory: "3072Mi", cpu: "4") {
stage("Build FCOS") {
checkout scm
unstash 'build'
shwrap("""
# Move the bits into the cosa pod
rsync -rlv installed/rootfs/ /
rsync -rlv installed/tests/ /
coreos-assembler init --force https://github.com/coreos/fedora-coreos-config
mkdir -p overrides/rootfs
# And override the on-host bits
mv installed/rootfs/* overrides/rootfs/
rm installed -rf
coreos-assembler fetch
coreos-assembler build
coreos-assembler buildextend-metal
coreos-assembler buildextend-metal4k
coreos-assembler buildextend-live --fast
""")
}
stage("Test") {
parallel metal: {
try {
shwrap("kola testiso -S --scenarios pxe-install,iso-offline-install,pxe-offline-install --output-dir tmp/kola-testiso-metal")
} finally {
shwrap("tar -cf - tmp/kola-testiso-metal/ | xz -c9 > ${env.WORKSPACE}/kola-testiso-metal.tar.xz")
archiveArtifacts allowEmptyArchive: true, artifacts: 'kola-testiso*.tar.xz'
}
}, kola: {
fcosKola(cosaDir: "${env.WORKSPACE}")
}
}
}
}