mirror of
https://github.com/containers/bootc.git
synced 2026-02-05 06:45:13 +01:00
A key thing for me is that the `Justfile` should be a one-stop shop for development of the project. It can't have everything but it should answer the basic questions of "how do I build and test this project". This aligns the recently added tmt-on-GHA flow a *bit* more closely with some of that. Biggest is to use the `just build-integration-test-image` as the canonical way to build a container image with our testing stuff in it; which uses our main Dockerfile Other cleanups: - Change test script to move into tests/tmt/ as a workaround for https://github.com/teemtee/tmt/pull/3037#issuecomment-3259585271 - Change the qemu logic to use SMBIOS credentials so we don't have to carry around both a disk image and a SSH key - Change qemu to use `-snapshot` so we can reuse disks - Change the scripts to accept data via argv[1] and not environment - Drop the hardcoded testing directory and use `target/` as a generic build artifact dir Signed-off-by: Colin Walters <walters@verbum.org>
27 lines
980 B
Bash
Executable File
27 lines
980 B
Bash
Executable File
#!/bin/bash
|
|
set -exuo pipefail
|
|
|
|
# You must have invoked test/build.sh before running this.
|
|
# This is basically a wrapper for tmt which sets up context
|
|
# (to point to our disk image) and works around bugs in
|
|
# tmt and testcloud.
|
|
# Use e.g. `./tests/run-tmt.sh plan --name test-21-logically-bound-switch`
|
|
# to run an individual test.
|
|
|
|
# Ensure we're in the topdir canonically
|
|
cd $(git rev-parse --show-toplevel)
|
|
|
|
DISK=$(pwd)/target/bootc-integration-test.qcow2
|
|
test -f "${DISK}"
|
|
|
|
# Move the tmt bits to a subdirectory to work around https://github.com/teemtee/tmt/issues/4062
|
|
mkdir -p target/tmt-workdir
|
|
rsync -a --delete --force .fmf tmt target/tmt-workdir/
|
|
|
|
# Hack around https://github.com/teemtee/testcloud/issues/17
|
|
rm -vrf /var/tmp/tmt/testcloud/images/bootc-integration-test.qcow2
|
|
|
|
cd target/tmt-workdir
|
|
# TMT will rsync tmt-* scripts to TMT_SCRIPTS_DIR=/var/lib/tmt/scripts
|
|
exec tmt --context "test_disk_image=${DISK}" run --all -e TMT_SCRIPTS_DIR=/var/lib/tmt/scripts "$@"
|