diff --git a/.codespell_ignores b/.codespell_ignores index e69de29..c25ef20 100644 --- a/.codespell_ignores +++ b/.codespell_ignores @@ -0,0 +1 @@ +passt diff --git a/.github/workflows/ansible-lint.yml b/.github/workflows/ansible-lint.yml index 30e742d..9ada1d0 100644 --- a/.github/workflows/ansible-lint.yml +++ b/.github/workflows/ansible-lint.yml @@ -32,7 +32,7 @@ jobs: - name: Install tox, tox-lsr run: | set -euxo pipefail - pip3 install "git+https://github.com/linux-system-roles/tox-lsr@3.9.0" + pip3 install "git+https://github.com/linux-system-roles/tox-lsr@3.10.0" - name: Convert role to collection format id: collection diff --git a/.github/workflows/ansible-managed-var-comment.yml b/.github/workflows/ansible-managed-var-comment.yml index 899de6f..f38380c 100644 --- a/.github/workflows/ansible-managed-var-comment.yml +++ b/.github/workflows/ansible-managed-var-comment.yml @@ -30,7 +30,7 @@ jobs: - name: Install tox, tox-lsr run: | set -euxo pipefail - pip3 install "git+https://github.com/linux-system-roles/tox-lsr@3.9.0" + pip3 install "git+https://github.com/linux-system-roles/tox-lsr@3.10.0" - name: Run ansible-plugin-scan run: | diff --git a/.github/workflows/ansible-test.yml b/.github/workflows/ansible-test.yml index 961538c..977fc72 100644 --- a/.github/workflows/ansible-test.yml +++ b/.github/workflows/ansible-test.yml @@ -33,7 +33,7 @@ jobs: - name: Install tox, tox-lsr run: | set -euxo pipefail - pip3 install "git+https://github.com/linux-system-roles/tox-lsr@3.9.0" + pip3 install "git+https://github.com/linux-system-roles/tox-lsr@3.10.0" - name: Convert role to collection format run: | diff --git a/.github/workflows/qemu-kvm-integration-tests.yml b/.github/workflows/qemu-kvm-integration-tests.yml index 8d021db..4554a6c 100644 --- a/.github/workflows/qemu-kvm-integration-tests.yml +++ b/.github/workflows/qemu-kvm-integration-tests.yml @@ -105,7 +105,29 @@ jobs: python3 -m pip install --upgrade pip sudo apt update sudo apt install -y --no-install-recommends git ansible-core genisoimage qemu-system-x86 - pip3 install "git+https://github.com/linux-system-roles/tox-lsr@3.9.0" + pip3 install "git+https://github.com/linux-system-roles/tox-lsr@3.10.0" + + # HACK: Drop this when moving this workflow to 26.04 LTS + - name: Update podman to 5.x for compatibility with bootc-image-builder's podman 5 + if: steps.check_platform.outputs.supported && endsWith(matrix.scenario.image, '-bootc') + run: | + sed 's/noble/plucky/g' /etc/apt/sources.list.d/ubuntu.sources | sudo tee /etc/apt/sources.list.d/plucky.sources >/dev/null + cat </dev/null + Package: podman buildah golang-github-containers-common crun libgpgme11t64 libgpg-error0 golang-github-containers-image catatonit conmon containers-storage + Pin: release n=plucky + Pin-Priority: 991 + + Package: libsubid4 netavark passt aardvark-dns containernetworking-plugins libslirp0 slirp4netns + Pin: release n=plucky + Pin-Priority: 991 + + Package: * + Pin: release n=plucky + Pin-Priority: 400 + EOF + + sudo apt update + sudo apt install -y podman crun conmon containers-storage - name: Configure tox-lsr if: steps.check_platform.outputs.supported @@ -117,7 +139,7 @@ jobs: if: steps.check_platform.outputs.supported && startsWith(matrix.scenario.env, 'qemu') run: >- tox -e ${{ matrix.scenario.env }} -- --image-name ${{ matrix.scenario.image }} --make-batch - --log-level debug --skip-tags tests::infiniband,tests::nvme,tests::scsi + --log-level debug $TOX_ARGS --skip-tags tests::bootc-e2e --lsr-report-errors-url DEFAULT -- - name: Qemu result summary @@ -164,6 +186,28 @@ jobs: done exit $rc + - name: Run bootc validation tests in QEMU + if: steps.check_platform.outputs.supported && + startsWith(matrix.scenario.env, 'container') && + endsWith(matrix.scenario.image, '-bootc') + run: | + set -euxo pipefail + env=$(echo "${{ matrix.scenario.env }}" | sed 's/^container-/qemu-/') + + for image_file in $(ls tests/tmp/*/qcow2/disk.qcow2 2>/dev/null); do + test="tests/$(basename $(dirname $(dirname $image_file))).yml" + if tox -e "$env" -- --image-file "$(pwd)/$image_file" \ + --log-level debug $TOX_ARGS \ + --lsr-report-errors-url DEFAULT \ + -e __bootc_validation=true \ + -- "$test" >out 2>&1; then + mv out "${test}-PASS.log" + else + mv out "${test}-FAIL.log" + exit 1 + fi + done + - name: Upload test logs on failure if: failure() uses: actions/upload-artifact@v4