On 7/30/26 2:39 PM, Dumitru Ceara wrote:
> On 7/30/26 1:21 PM, Mairtin O'Loingsigh 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
>>> +
>>>        - 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.
>>
> 
> Thanks again!  Applied to main and 26.03.
> 

... and to 25.09, I forgot that's still supported.

Regards,
Dumitru

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

Reply via email to