summaryrefslogtreecommitdiff
path: root/.cci.jenkinsfile
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2020-02-03 20:45:07 +0000
committerColin Walters <walters@verbum.org>2020-02-06 23:14:42 +0000
commit6d104f6257a52c0ecbadd285187c920f86f2387c (patch)
treece735a69f4846c3a6560e042a1735aaf9f081b81 /.cci.jenkinsfile
parent6b9282fa4582aeae2ef60e38138d8c7efbea59bb (diff)
downloadostree-6d104f6257a52c0ecbadd285187c920f86f2387c.tar.gz
ci: Replace PAPR with CoreOS CI
Move the alternative builds into the Jenkinsfile. Update it to do a FCOS build + kola run. We drop the flatpak/rpm-ostree runs for now; the former will needs some work to do the automatic virt bits. The latter I think we can circle back to when we e.g. figure out how to include rpm-ostree's tests in kola runs.
Diffstat (limited to '.cci.jenkinsfile')
-rw-r--r--.cci.jenkinsfile86
1 files changed, 84 insertions, 2 deletions
diff --git a/.cci.jenkinsfile b/.cci.jenkinsfile
index 9acb34c5..96e52441 100644
--- a/.cci.jenkinsfile
+++ b/.cci.jenkinsfile
@@ -6,17 +6,49 @@ COSA_IMAGE = 'quay.io/coreos-assembler/coreos-assembler:latest'
COSA_BUILDROOT_IMAGE = 'registry.svc.ci.openshift.org/coreos/cosa-buildroot:latest'
stage("Build") {
-parallel rpms: {
+parallel normal: {
coreos.pod(image: COSA_BUILDROOT_IMAGE, runAsUser: 0) {
checkout scm
+ stage("Core build") {
sh """
set -xeuo pipefail
# fetch tags so `git describe` gives a nice NEVRA when building the RPM
git fetch origin --tags
git submodule update --init
+ env SKIP_INSTALLDEPS=1 ./ci/build.sh
+ """
+ }
+ stage("Unit tests") {
+ try {
+ sh """
+ make check
+ make syntax-check
+ """
+ } finally {
+ archiveArtifacts allowEmptyArchive: true, artifacts: 'test-suite.log'
+ }
+ }
+ sh """
+ make install DESTDIR=\$(pwd)/insttree/
+ tar -c -C insttree/ -zvf insttree.tar.gz .
+ """
+ stash includes: 'insttree.tar.gz', name: 'build'
+ }
+},
+// A minimal build, helps test our build options
+minimal: {
+ coreos.pod(image: COSA_BUILDROOT_IMAGE, runAsUser: 0) {
+ checkout scm
+ sh """
+ set -xeuo pipefail
+ git submodule update --init
+
env NOCONFIGURE=1 ./autogen.sh
- ./configure --with-openssl --with-curl --with-selinux
+ ./configure --without-curl --without-soup --disable-gtk-doc --disable-man \
+ --disable-rust --without-libarchive --without-selinux --without-smack \
+ --without-openssl --without-avahi --without-libmount --disable-rofiles-fuse \
+ --disable-experimental-api
make
"""
}
@@ -34,3 +66,53 @@ codestyle: {
}
}
}
+
+// Build FCOS and do a kola basic run
+stage("More builds and test") {
+parallel fcos: {
+ coreos.pod(image: COSA_IMAGE, runAsUser: 0, kvm: true, memory: "2048Mi", cpu: "2") {
+ stage("Build FCOS") {
+ checkout scm
+ unstash 'build'
+ sh """
+ set -xeuo pipefail
+ mkdir insttree
+ tar -C insttree -xzvf insttree.tar.gz
+ rsync -rlv insttree/ /
+ coreos-assembler init --force https://github.com/coreos/fedora-coreos-config
+ mkdir -p overrides/rootfs
+ mv insttree/* overrides/rootfs/
+ rmdir insttree
+ coreos-assembler build
+ """
+ }
+ stage("FCOS basic") {
+ timeout(time: 30, unit: 'MINUTES') {
+ sh """
+ set -xeuo pipefail
+ cosa kola run --basic-qemu-scenarios
+ """
+ }
+ }
+ }
+},
+buildopts: {
+ coreos.pod(image: COSA_BUILDROOT_IMAGE, runAsUser: 0) {
+ checkout scm
+ sh """
+ set -xeuo pipefail
+ git submodule update --init
+
+ git worktree add build-rust && cd build-rust
+ env CONFIGOPTS="--enable-rust" SKIP_INSTALLDEPS=1 ./ci/build.sh
+ make check TESTS=tests/test-rollsum
+ cd .. && rm -rf build-rust
+
+ git worktree add build-libsoup && cd build-libsoup
+ env CONFIGOPTS="--without-curl --without-openssl --with-soup" SKIP_INSTALLDEPS=1 ./ci/build.sh
+ make check
+ cd .. && rm -rf build-libsoup
+ """
+ }
+}
+}