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
