From 3baa9da4edec72a70aec4aa25a29b4afd82ed689 Mon Sep 17 00:00:00 2001 From: Ed Santiago Date: Tue, 9 Feb 2021 14:33:19 -0700 Subject: WIP: run buildah bud tests using podman Set of scripts to run buildah's bud.bats test using podman build in podman CI. podman build is not 100% compatible with buildah bud. In particular: * podman defaults to --layers=true; buildah to false * podman defaults to --force-rm=true; buildah to false * podman error exit status is 125; buildah is 2 * differences in error messages, command-line arguments Some of the above can be dealt with programmatically, by tweaking the buildah helpers.bash (BATS helpers). Some need to be tweaked by patching bud.bats itself. This PR includes a patch that will, I fear, need to be periodically maintained over time. There will likely be failures when vendoring in a new buildah, possibly because new tests were added for new features that don't exist in podman, possibly (I hope unlikely) if existing tests are changed in ways that make the patch file fail to apply. I've tried to write good instructions and to write the run script in such a way that it will offer helpful hints on failure. My instructions and code will be imperfect; I hope they will be good enough to merit continued use of this test (possibly with improvements to the instructions as we learn more about real-world failures). Signed-off-by: Ed Santiago --- contrib/cirrus/runner.sh | 4 ++++ contrib/cirrus/setup_environment.sh | 1 + 2 files changed, 5 insertions(+) (limited to 'contrib') diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh index fca9aff93..507d22e13 100755 --- a/contrib/cirrus/runner.sh +++ b/contrib/cirrus/runner.sh @@ -74,6 +74,10 @@ function _run_upgrade_test() { bats test/upgrade |& logformatter } +function _run_bud() { + ./test/buildah-bud/run-buildah-bud-tests |& logformatter +} + function _run_bindings() { # shellcheck disable=SC2155 export PATH=$PATH:$GOSRC/hack diff --git a/contrib/cirrus/setup_environment.sh b/contrib/cirrus/setup_environment.sh index 64ea3b7b4..fcb1284e7 100755 --- a/contrib/cirrus/setup_environment.sh +++ b/contrib/cirrus/setup_environment.sh @@ -201,6 +201,7 @@ case "$TEST_FLAVOR" in int) ;& sys) ;& upgrade_test) ;& + bud) ;& bindings) ;& endpoint) # Use existing host bits when testing is to happen inside a container -- cgit v1.2.3-54-g00ecf