Commit d7be888244 for openssl.org

commit d7be888244faf1b42855406731a3880c76bca636
Author: Norbert Pocs <norbertp@openssl.org>
Date:   Wed May 21 20:02:57 2025 +0200

    quic-interop-ci: Fix failing CI

    The issue was a flaky "impossible to reach server" in the CI.

    The issue was caused by introduction of indeterminism to docker
    networking (docker engine v28.0) and docker compose is affected by that
    since v2.33.1.

    Using constant network interface names solves the issue. The
    "interface_name" was introduced in docker compose v2.36.0.

    Resolves: https://github.com/openssl/project/issues/1182

    Signed-off-by: Norbert Pocs <norbertp@openssl.org>

    Reviewed-by: Neil Horman <nhorman@openssl.org>
    Reviewed-by: Saša NedvÄ›dický <sashan@openssl.org>
    Reviewed-by: Tomas Mraz <tomas@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/27682)

diff --git a/.github/workflows/run_quic_interop.yml b/.github/workflows/run_quic_interop.yml
index 8498872951..2e9c39753d 100644
--- a/.github/workflows/run_quic_interop.yml
+++ b/.github/workflows/run_quic_interop.yml
@@ -41,6 +41,20 @@ jobs:
                          , role: "both"
                          }' ./implementations.json > ./implementations.tmp
           mv ./implementations.tmp implementations.json
+      - name: "Update to docker-compose 2.36"
+        run: |
+          curl -SL https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-linux-x86_64 -o ./docker-compose
+          echo "$PWD" >> $GITHUB_PATH
+          chmod 755 ./docker-compose
+      - name: Check docker compose version
+        run: |
+          docker-compose --version
+      - name: Patch Docker compose file
+        run: |
+          yq -i '.services.sim.networks.leftnet += {"interface_name" : "eth0"}
+                 | .services.sim.networks.rightnet += {"interface_name" : "eth1"}
+                 | .services.server.networks.rightnet += {"interface_name" : "eth0"}
+                 | .services.client.networks.leftnet += {"interface_name" : "eth0"}' docker-compose.yml
       - name: "run interop with openssl client"
         run: |
           python3 ./run.py -c openssl -t ${{ matrix.tests }} -s ${{ matrix.servers }} --log-dir ./logs-client -d
@@ -78,6 +92,20 @@ jobs:
                          , role: "both"
                          }' ./implementations.json > ./implementations.tmp
           mv ./implementations.tmp implementations.json
+      - name: "Update to docker-compose 2.36"
+        run: |
+          curl -SL https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-linux-x86_64 -o ./docker-compose
+          echo "$PWD" >> $GITHUB_PATH
+          chmod 755 ./docker-compose
+      - name: Check docker-compose version
+        run: |
+          docker-compose --version
+      - name: Patch Docker compose file
+        run: |
+          yq -i '.services.sim.networks.leftnet += {"interface_name" : "eth0"}
+                 | .services.sim.networks.rightnet += {"interface_name" : "eth1"}
+                 | .services.server.networks.rightnet += {"interface_name" : "eth0"}
+                 | .services.client.networks.leftnet += {"interface_name" : "eth0"}' docker-compose.yml
       - name: "run interop with openssl server"
         run: |
           python3 ./run.py -s openssl -t ${{ matrix.tests }} -c ${{ matrix.clients }} --log-dir ./logs-server -d