mirror of
https://github.com/ostreedev/ostree.git
synced 2025-01-10 05:18:30 +03:00
8408f8913b
That test will not make it into the fedora-coreos-config repo until the libostree fix gets percolated down. PR is: https://github.com/coreos/fedora-coreos-config/pull/586 But we want to make sure that the fix does work and that we don't regress on it. So manually fetch it for now.
129 lines
4.1 KiB
Plaintext
129 lines
4.1 KiB
Plaintext
// Documentation: https://github.com/coreos/coreos-ci/blob/master/README-upstream-ci.md
|
|
|
|
stage("Build") {
|
|
parallel normal: {
|
|
def n = 5
|
|
cosaPod(buildroot: true, runAsUser: 0, 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 {
|
|
archiveArtifacts allowEmptyArchive: true, artifacts: 'test-suite.log'
|
|
}
|
|
}
|
|
shwrap("""
|
|
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: {
|
|
cosaPod(buildroot: true, runAsUser: 0) {
|
|
checkout scm
|
|
shwrap("""
|
|
git submodule update --init
|
|
|
|
env NOCONFIGURE=1 ./autogen.sh
|
|
./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 --without-libsodium
|
|
make
|
|
""")
|
|
}
|
|
},
|
|
codestyle: {
|
|
cosaPod {
|
|
checkout scm
|
|
shwrap("""
|
|
# Jenkins by default only fetches the branch it's testing. Explicitly fetch master
|
|
# for ci-commitmessage-submodules.sh
|
|
git fetch origin +refs/heads/master:refs/remotes/origin/master
|
|
ci/ci-commitmessage-submodules.sh
|
|
""")
|
|
}
|
|
}
|
|
}
|
|
|
|
// Build FCOS and do a kola basic run
|
|
stage("More builds and test") {
|
|
parallel fcos: {
|
|
cosaPod(buildroot: true, runAsUser: 0, memory: "3072Mi", cpu: "4") {
|
|
stage("Build FCOS") {
|
|
checkout scm
|
|
unstash 'build'
|
|
shwrap("""
|
|
mkdir insttree
|
|
tar -C insttree -xzvf insttree.tar.gz
|
|
rsync -rlv insttree/ /
|
|
coreos-assembler init --force https://github.com/coreos/fedora-coreos-config
|
|
# XXX: We temporarily add these tests until they get merged into FCOS proper
|
|
(mkdir -p tests/kola/var-mount
|
|
cd tests/kola/var-mount
|
|
curl -L --remote-name-all \
|
|
https://raw.githubusercontent.com/jlebon/fedora-coreos-config/pr/var-mount/tests/kola/var-mount/{config.ign,test.sh}
|
|
chmod a+x test.sh)
|
|
mkdir -p overrides/rootfs
|
|
mv insttree/* overrides/rootfs/
|
|
rmdir insttree
|
|
coreos-assembler fetch
|
|
coreos-assembler build
|
|
coreos-assembler buildextend-metal
|
|
coreos-assembler buildextend-metal4k
|
|
coreos-assembler buildextend-live --fast
|
|
# Install the tests
|
|
# Build and install the tests
|
|
make -C tests/kolainst
|
|
make -C tests/kolainst install
|
|
""")
|
|
}
|
|
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}")
|
|
}
|
|
}
|
|
}
|
|
},
|
|
buildopts: {
|
|
def n = 5
|
|
cosaPod(buildroot: true, runAsUser: 0, memory: "2Gi", cpu: "${n}") {
|
|
checkout scm
|
|
shwrap("""
|
|
git submodule update --init
|
|
|
|
git worktree add build-rust && cd build-rust
|
|
env MAKE_JOBS=${n} 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 MAKE_JOBS=${n} CONFIGOPTS="--without-curl --without-openssl --with-soup" SKIP_INSTALLDEPS=1 ./ci/build.sh
|
|
make check
|
|
cd .. && rm -rf build-libsoup
|
|
""")
|
|
}
|
|
}
|
|
}
|