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
> +
>        - 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

Reply via email to