diff --git a/.cirrus.yml b/.cirrus.yml index 2b07443a..6f8be8e0 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -23,10 +23,10 @@ env: #### #### Cache-image names to test with (double-quotes around names are critical) #### - FEDORA_NAME: "fedora-36" + FEDORA_NAME: "fedora-37" # Google-cloud VM Images - IMAGE_SUFFIX: "c5495735033528320" + IMAGE_SUFFIX: "c6300530360713216" FEDORA_CACHE_IMAGE_NAME: "fedora-${IMAGE_SUFFIX}" # Container FQIN's diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh index 63de27e2..3792a249 100755 --- a/contrib/cirrus/runner.sh +++ b/contrib/cirrus/runner.sh @@ -55,9 +55,6 @@ _run_setup() { # VM's come with the distro. skopeo package pre-installed dnf erase -y skopeo - # Required for testing the SIF transport - dnf install -y fakeroot squashfs-tools - msg "Removing systemd-resolved from nsswitch.conf" # /etc/resolv.conf is already set to bypass systemd-resolvd sed -i -r -e 's/^(hosts.+)resolve.+dns/\1dns/' /etc/nsswitch.conf @@ -115,18 +112,32 @@ _run_unit() { make test-unit-local BUILDTAGS="$BUILDTAGS" } -_run_integration() { +_podman_reset() { # Ensure we start with a clean-slate - podman system reset --force + showrun podman system reset --force + # Don't pollute the CI environment + ( + source $CIRRUS_WORKING_DIR/systemtest/helpers.bash + # WARNING WARNING WARNING WARNING + # Without running a container, the system tests will inexplicably + # fail with obscure errors/warning messages. I have no idea why + # running a container after a `system reset` fixes/prevents the + # problem. The failures do not reproduce when tests are run manually. + # So unless or until /until somebody develops a better understanding, + # this fix is JFM. + # WARNING WARNING WARNING WARNING + showrun podman run -it --rm --entrypoint /bin/true $REGISTRY_FQIN + ) +} +_run_integration() { + _podman_reset make test-integration-local BUILDTAGS="$BUILDTAGS" } _run_system() { - # Ensure we start with a clean-slate - podman system reset --force - - # Executes with containers required for testing. + _podman_reset + ##### Note: Test MODIFIES THE HOST SETUP ##### make test-system-local BUILDTAGS="$BUILDTAGS" } diff --git a/systemtest/010-inspect.bats b/systemtest/010-inspect.bats index 97137acf..548174da 100644 --- a/systemtest/010-inspect.bats +++ b/systemtest/010-inspect.bats @@ -95,10 +95,11 @@ END_EXPECT # is created by the make-noarch-manifest script in this directory. img=docker://quay.io/libpod/notmyarch:20210121 - # Get our host arch (what we're running on). This assumes that skopeo - # arch matches podman; it also assumes running podman >= April 2020 - # (prior to that, the format keys were lower-case). - arch=$(podman info --format '{{.Host.Arch}}') + # Get our host golang arch (what we're running on, according to golang). + # This assumes that skopeo arch matches host arch (which it always should). + # Buildah is used here because it depends less on the exact system config + # than podman - and all we're really after is the golang-flavored arch name. + arch=$(go env GOARCH) # By default, 'inspect' tries to match our host os+arch. This should fail. run_skopeo 1 inspect $img