With the current GitHub Actions Ubuntu 24.04 runner, exec-ing into a
running container often hangs.  This started happening after the runner
image was upgraded to 20260810.271 which bumped podman 4.9.3 to 5.8.4.

This was reported as a actions/runner-images issue here:
https://github.com/actions/runner-images/issues/14604

Instead of waiting for the image fix, avoid installing the broken
podman, the good version is already installed in the image.  Suggested
as a workaround here:
https://github.com/actions/runner-images/issues/14604#issuecomment-5407848794

Signed-off-by: Dumitru Ceara <[email protected]>
---
Changes in V2:
- added missed arm jobs
---
 .github/workflows/containers.yml              | 11 +++++--
 .../workflows/ovn-fake-multinode-tests.yml    | 33 ++++++++++++++-----
 .github/workflows/test-arm.yml                | 15 ++++++++-
 .github/workflows/test.yml                    | 11 +++++--
 4 files changed, 57 insertions(+), 13 deletions(-)

diff --git a/.github/workflows/containers.yml b/.github/workflows/containers.yml
index b178091e5b..05875bcaf0 100644
--- a/.github/workflows/containers.yml
+++ b/.github/workflows/containers.yml
@@ -11,7 +11,8 @@ env:
   IMAGE_NAMESPACE: ovn-org
   IMAGE_NAME: ovn-tests
   CONTAINERS_PATH: ./utilities/containers
-  DEPENDENCIES: podman
+  DEPENDENCIES:
+  PREINSTALLED_DEPENDENCIES: podman
 
 jobs:
   container:
@@ -26,8 +27,14 @@ jobs:
       - name: Update APT cache
         run: sudo apt update
 
+      - name: Ensure pre-installed dependencies
+        run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
       - name: Install dependencies
-        run: sudo apt install -y ${{ env.DEPENDENCIES }}
+        run: |
+          if [ -n "${{ env.DEPENDENCIES }}" ]; then
+            sudo apt install -y ${{ env.DEPENDENCIES }}
+          fi
 
       - name: Fix /etc/hosts file
         run: |
diff --git a/.github/workflows/ovn-fake-multinode-tests.yml 
b/.github/workflows/ovn-fake-multinode-tests.yml
index edb9646940..73d1b22cf6 100644
--- a/.github/workflows/ovn-fake-multinode-tests.yml
+++ b/.github/workflows/ovn-fake-multinode-tests.yml
@@ -21,6 +21,8 @@ jobs:
         - { repo: "${{ github.repository }}", branch: "${{ github.ref_name }}" 
}
         - { repo: ovn-org/ovn, branch: "branch-26.03" }
     env:
+      DEPENDENCIES:
+      PREINSTALLED_DEPENDENCIES: podman
       RUNC_CMD: podman
       OS_IMAGE: "fedora:42"
       # https://github.com/actions/runner-images/issues/6282
@@ -51,10 +53,17 @@ jobs:
         repository: ${{ matrix.cfg.repo }}
         ref: ${{ matrix.cfg.branch }}
 
+    - name: Update APT cache
+      run: sudo apt update
+
+    - name: Ensure pre-installed dependencies
+      run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
     - name: Install dependencies
       run: |
-        sudo apt update || true
-        sudo apt-get install -y podman
+        if [ -n "${{ env.DEPENDENCIES }}" ]; then
+          sudo apt install -y ${{ env.DEPENDENCIES }}
+        fi
 
     - name: Fix /etc/hosts file
       run: |
@@ -110,22 +119,30 @@ jobs:
       ENABLE_SSL: no
       CC: gcc
       OPTS: "--disable-ssl"
-      dependencies: |
+      DEPENDENCIES: |
         automake libtool gcc bc libjemalloc2 libjemalloc-dev    \
         libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
         selinux-policy-dev ncat python3-scapy isc-dhcp-server \
-        podman openvswitch-switch libunbound-dev libunwind-dev
+        openvswitch-switch libunbound-dev libunwind-dev
       # https://github.com/actions/runner-images/issues/6282
+      PREINSTALLED_DEPENDENCIES: podman
       XDG_RUNTIME_DIR: ''
 
     steps:
     - name: Check out ovn
       uses: actions/checkout@v6
 
-    - name: install required dependencies
-      run:  |
-        sudo apt update || true
-        sudo apt install -y ${{ env.dependencies }}
+    - name: Update APT cache
+      run: sudo apt update
+
+    - name: Ensure pre-installed dependencies
+      run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
+    - name: Install dependencies
+      run: |
+        if [ -n "${{ env.DEPENDENCIES }}" ]; then
+          sudo apt install -y ${{ env.DEPENDENCIES }}
+        fi
         sudo apt install -y linux-modules-extra-$(uname -r)
 
     - name: Fix /etc/hosts file
diff --git a/.github/workflows/test-arm.yml b/.github/workflows/test-arm.yml
index 82aa36c04f..64bec214f0 100644
--- a/.github/workflows/test-arm.yml
+++ b/.github/workflows/test-arm.yml
@@ -22,6 +22,8 @@ jobs:
       TEST_RANGE:  ${{ matrix.cfg.test_range }}
       SANITIZERS:  ${{ matrix.cfg.sanitizers }}
       UNSTABLE:    ${{ matrix.cfg.unstable }}
+      DEPENDENCIES:
+      PREINSTALLED_DEPENDENCIES: podman
 
     name: linux ${{ join(matrix.cfg.*, ' ') }}
     if: (github.repository_owner == 'ovn-org' && github.event_name == 
'schedule' && github.ref_name == 'main') || github.event_name == 
'workflow_dispatch'
@@ -57,10 +59,21 @@ jobs:
           - { compiler: clang, testsuite: system-test, sanitizers: sanitizers, 
test_range: "201-", unstable: unstable }
 
     steps:
+      - name: Update APT cache
+        run: sudo apt update
+
+      - name: Ensure pre-installed dependencies
+        run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
+      - name: Install dependencies
+        run: |
+          if [ -n "${{ env.DEPENDENCIES }}" ]; then
+            sudo apt install -y ${{ env.DEPENDENCIES }}
+          fi
+
       - name: system-level-dependencies
         if: ${{ startsWith(matrix.cfg.testsuite, 'system-test') }}
         run: |
-          sudo apt update
           sudo apt -y install linux-modules-extra-$(uname -r)
 
       - name: checkout
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index d08f7fdac4..f1a2cd1f7c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -23,7 +23,8 @@ jobs:
     # | !main |  Builds - Ubuntu  | xxxxxxxxxxxxxxxxx |
     # +-------+-------------------+-------------------+
     env:
-      DEPENDENCIES: podman
+      DEPENDENCIES:
+      PREINSTALLED_DEPENDENCIES: podman
     name: Prepare container
     if: github.repository_owner == 'ovn-org' || github.event_name != 'schedule'
     runs-on: ubuntu-24.04
@@ -34,8 +35,14 @@ jobs:
       - name: Update APT cache
         run: sudo apt update
 
+      - name: Ensure pre-installed dependencies
+        run: which ${{ env.PREINSTALLED_DEPENDENCIES }}
+
       - name: Install dependencies
-        run: sudo apt install -y ${{ env.DEPENDENCIES }}
+        run: |
+          if [ -n "${{ env.DEPENDENCIES }}" ]; then
+            sudo apt install -y ${{ env.DEPENDENCIES }}
+          fi
 
       - name: Fix /etc/hosts file
         run: |
-- 
2.55.0

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

Reply via email to