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

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to