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

Reply via email to