From: Norbert Pocs Date: Wed, 21 May 2025 18:02:57 +0000 (+0200) Subject: quic-interop-ci: Fix failing CI X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=d7be888244faf1b42855406731a3880c76bca636;p=thirdparty%2Fopenssl.git 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 Reviewed-by: Neil Horman Reviewed-by: Saša Nedvědický Reviewed-by: Tomas Mraz (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 84988729513..2e9c39753de 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