ci: Add composepost-checks.sh, drop a compose test

The compose tests are expensive; each run involves running
all the `%post` scripts and `dracut` etc.  This is definitely
a source of timeouts in CCI.

Remove `test-boot-location-modules.sh` - it's the default
now and is used by FCOS.  Add dedicated script where we can
test all these things by default after a `cosa build`.

This aims to move the compose tests to only cover bits *not*
in cosa like the non-unified-core path.
This commit is contained in:
Colin Walters 2021-03-11 15:20:14 +00:00
parent 43e6fe265c
commit f6f6ac5ff3
3 changed files with 29 additions and 26 deletions

View File

@ -47,6 +47,7 @@ parallel insttests: {
(cd overrides/rpm && curl -LO https://kojipkgs.fedoraproject.org//packages/libsolv/0.7.17/1.fc33/x86_64/libsolv-0.7.17-1.fc33.x86_64.rpm)
coreos-assembler fetch
coreos-assembler build
${env.WORKSPACE}/ci/composepost-checks.sh
""")
}
stage("Install Deps") {

28
ci/composepost-checks.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/bash
# This script expects a coreos-assembler working directory
# and will validate parts of the generated ostree commit.
set -xeuo pipefail
dn=$(cd "$(dirname "$0")" && pwd)
commondir=$(cd "$dn/../tests/common" && pwd)
. "${commondir}/libtest-core.sh"
repo=tmp/repo
ref=$(cosa meta --get-value ref)
# Nothing in /boot (but it should exist)
ostree --repo="${repo}" ls -R "${ref}" /boot > tmp/bootls.txt
cat >tmp/bootls-expected.txt <<EOF
d00755 0 0 0 /boot
EOF
diff -u tmp/bootls{-expected,}.txt
# Verify /usr/lib/ostree-boot
ostree --repo="${repo}" ls -R "${ref}" /usr/lib/ostree-boot > tmp/bootls.txt
assert_not_file_has_content tmp/bootls.txt vmlinuz-
assert_not_file_has_content tmp/bootls.txt initramfs-
# And use the kver to find the kernel in /usr/lib/modules
ostree --repo="${repo}" ls -R "${ref}" /usr/lib/modules > tmp/modules-lsr.txt
assert_file_has_content tmp/modules-lsr.txt '/vmlinuz$'
assert_file_has_content tmp/modules-lsr.txt '/initramfs.img$'
echo "ok boot location modules"

View File

@ -1,26 +0,0 @@
#!/bin/bash
set -xeuo pipefail
dn=$(cd "$(dirname "$0")" && pwd)
# shellcheck source=libcomposetest.sh
. "${dn}/libcomposetest.sh"
treefile_set boot-location '"modules"'
runcompose
echo "ok compose"
# Nothing in /boot (but it should exist)
ostree --repo="${repo}" ls -R "${treeref}" /boot > bootls.txt
cat >bootls-expected.txt <<EOF
d00755 0 0 0 /boot
EOF
diff -u bootls{-expected,}.txt
# Verify /usr/lib/ostree-boot
ostree --repo="${repo}" ls -R "${treeref}" /usr/lib/ostree-boot > bootls.txt
assert_not_file_has_content bootls.txt vmlinuz-
assert_not_file_has_content bootls.txt initramfs-
# And use the kver to find the kernel in /usr/lib/modules
ostree --repo="${repo}" ls -R "${treeref}" /usr/lib/modules > modules-lsr.txt
assert_file_has_content modules-lsr.txt '/vmlinuz$'
assert_file_has_content modules-lsr.txt '/initramfs.img$'
echo "ok boot location modules"