On 7/30/26 1:21 PM, Mairtin O'Loingsigh via dev wrote: > On Thu, Jul 30, 2026 at 01:05:36PM +0200, Dumitru Ceara wrote: >> On 7/30/26 12:47 PM, Mairtin O'Loingsigh wrote: >>> On Thu, Jul 30, 2026 at 12:03:23PM +0200, Dumitru Ceara wrote: >>>> Due to https://github.com/actions/runner-images/issues/14473 our CI is >>>> currently permafailing because podman containers (used by the various >>>> workflows) fail to run due to the stale crun version installed in >>>> /usr/bin/crun. >>>> >>>> Other people facing this issue have decided to use as workaround >>>> manually specifying the podman runtime, e.g.: >>>> >>>> OCI_RUNTIME=$(command -v crun) >>>> podman --runtime "$OCI_RUNTIME" run ... >>>> >>>> That doesn't really work nicely for us because docker and podman are not >>>> compatible at that level (docker would need additional configuration) >>>> and, at least theoretically, our CI is generic and could be run with >>>> both docker or podman. >>>> >>>> Instead, manually install the correct crun version (1.28) in >>>> /usr/bin/crun. We did this before to workaround GitHub runner >>>> issues: >>>> >>>> cbf4fc86a195 ("ci: Update crun in GitHub actions runner.") >>>> >>>> Signed-off-by: Dumitru Ceara <[email protected]> >>>> --- >>>> .ci/linux-util.sh | 12 ++++++++++++ >>>> .github/workflows/ovn-fake-multinode-tests.yml | 11 +++++++++++ >>>> .github/workflows/ovn-upgrade-tests.yml | 5 +++++ >>>> .github/workflows/test.yml | 10 ++++++++++ >>>> 4 files changed, 38 insertions(+) >>>> >>>> diff --git a/.ci/linux-util.sh b/.ci/linux-util.sh >>>> index b5bd1f8c9c..0b42aae9d4 100755 >>>> --- a/.ci/linux-util.sh >>>> +++ b/.ci/linux-util.sh >>>> @@ -49,3 +49,15 @@ function disable_apparmor() >>>> sudo aa-teardown || true >>>> sudo systemctl disable --now apparmor.service >>>> } >>>> + >>>> +# XXX This should be removed when the following issue is fixed and the >>>> +# correct crun version is packaged into the runner image. >>>> +# https://github.com/actions/runner-images/issues/14473 >>>> +function fixup_crun() >>>> +{ >>>> + crun --version >>>> + sudo curl -L >>>> "https://github.com/containers/crun/releases/download/1.28/crun-1.28-linux-amd64" >>>> \ >>>> + -o /usr/bin/crun >>>> + sudo chmod +x /usr/bin/crun >>>> + echo "New crun version: "$(crun --version) >>>> +} >>>> diff --git a/.github/workflows/ovn-fake-multinode-tests.yml >>>> b/.github/workflows/ovn-fake-multinode-tests.yml >>>> index 0294d89699..edb9646940 100644 >>>> --- a/.github/workflows/ovn-fake-multinode-tests.yml >>>> +++ b/.github/workflows/ovn-fake-multinode-tests.yml >>>> @@ -68,6 +68,12 @@ jobs: >>>> disable_apparmor >>>> working-directory: ovn-fake-multinode/ovn >>>> >>>> + - name: Fixup crun >>>> + run: | >>>> + . .ci/linux-util.sh >>>> + fixup_crun >>>> + working-directory: ovn-fake-multinode/ovn >>>> + >>>> - name: Build ovn-fake-multi-node ${{ matrix.cfg.branch }} image >>>> run: | >>>> set -x >>>> @@ -132,6 +138,11 @@ jobs: >>>> . .ci/linux-util.sh >>>> disable_apparmor >>>> >>>> + - name: Fixup crun >>>> + run: | >>>> + . .ci/linux-util.sh >>>> + fixup_crun >>>> + >>>> - name: Free up disk space >>>> run: | >>>> . .ci/linux-util.sh >>>> diff --git a/.github/workflows/ovn-upgrade-tests.yml >>>> b/.github/workflows/ovn-upgrade-tests.yml >>>> index 8dc1bf7ee9..e1117ed271 100644 >>>> --- a/.github/workflows/ovn-upgrade-tests.yml >>>> +++ b/.github/workflows/ovn-upgrade-tests.yml >>>> @@ -59,6 +59,11 @@ jobs: >>>> . .ci/linux-util.sh >>>> disable_apparmor >>>> >>>> + - name: Fixup crun >>>> + run: | >>>> + . .ci/linux-util.sh >>>> + fixup_crun >>>> + >>>> - name: Download container >>>> run: sudo podman pull ghcr.io/ovn-org/ovn-tests:ubuntu >>>> >>>> diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml >>>> index 64073b228a..d08f7fdac4 100644 >>>> --- a/.github/workflows/test.yml >>>> +++ b/.github/workflows/test.yml >>>> @@ -47,6 +47,11 @@ jobs: >>>> . .ci/linux-util.sh >>>> disable_apparmor >>>> >>>> + - name: Fixup crun >>>> + run: | >>>> + . .ci/linux-util.sh >>>> + fixup_crun >>>> + >>>> - name: Choose image distro >>>> if: github.event_name == 'push' || github.event_name == >>>> 'pull_request' >>>> run: | >>>> @@ -171,6 +176,11 @@ jobs: >>>> . .ci/linux-util.sh >>>> disable_apparmor >>>> >>>> + - name: Fixup crun >>>> + run: | >>>> + . .ci/linux-util.sh >>>> + fixup_crun >>>> + >>>> - name: image cache >>>> id: image_cache >>>> uses: actions/cache@v5 >>> >>> Hi, >>> >> >> Hi Mairtin, >> >> Thanks for the review! >> >>> Change looks good to me, should this also be applied to containers.yml ? >>> >> >> I think you're probably right, I missed that part. We do install podman >> in containers.yml, let's fix up crun there too. >> >>> Acked-by: Mairtin O'Loingsigh <[email protected]> >>> >> >> Still running tests but would you be OK with me squashing this in if the >> tests pass? >> >> diff --git a/.github/workflows/containers.yml >> b/.github/workflows/containers.yml >> index 16a869b955..b178091e5b 100644 >> --- a/.github/workflows/containers.yml >> +++ b/.github/workflows/containers.yml >> @@ -34,6 +34,11 @@ jobs: >> . .ci/linux-util.sh >> fix_etc_hosts >> >> + - name: Fixup crun >> + run: | >> + . .ci/linux-util.sh >> + fixup_crun >> +
Side note: at some point we should probably squash all these steps into a single "Apply GitHub workarounds" to avoid further growing these yml files... >> - name: Set up QEMU >> uses: docker/setup-qemu-action@v2 >> >> --- >> Thanks, >> Dumitru >> > > Yes, I am fine with you squashing this and applying once tests pass. > > Regards, > Mairtin _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
