|
7 | 7 | workflow_dispatch: |
8 | 8 |
|
9 | 9 | jobs: |
10 | | - run_quic_interop: |
| 10 | + run_quic_interop_openssl_client: |
11 | 11 | strategy: |
12 | 12 | matrix: |
13 | | - tests: [http3, transfer, handshake, retry, chacha20, resumption, multiplexing] |
| 13 | + tests: [http3, transfer, handshake, retry, chacha20, resumption, multiplexing, ipv6] |
14 | 14 | servers: [quic-go, ngtcp2, mvfst, quiche, nginx, msquic, haproxy] |
| 15 | + exclude: |
| 16 | + - servers: msquic |
| 17 | + tests: retry |
15 | 18 | fail-fast: false |
16 | | - runs-on: ubuntu-latest |
| 19 | + runs-on: ubuntu-latest |
17 | 20 | steps: |
18 | 21 | - uses: actions/checkout@v4 |
19 | 22 | with: |
20 | 23 | repository: 'quic-interop/quic-interop-runner' |
21 | 24 | fetch-depth: 0 |
22 | | - - name: Install dependencies |
| 25 | + - name: Install python requirements |
23 | 26 | run: | |
24 | | - pip install -r requirements.txt |
25 | | - sudo add-apt-repository ppa:wireshark-dev/stable |
26 | | - sudo apt-get update |
27 | | - sudo apt-get install -y tshark |
| 27 | + for i in {1..3}; do pip install -r requirements.txt && break; sleep 10; done |
| 28 | + - name: Add tshark repo |
| 29 | + run: | |
| 30 | + for i in {1..3}; do sudo add-apt-repository ppa:wireshark-dev/stable && break; sleep 10; done |
| 31 | + - name: Update apt repos |
| 32 | + run: | |
| 33 | + for i in {1..3}; do sudo apt-get update && break; sleep 10; done |
| 34 | + - name: Install tshark |
| 35 | + run: | |
| 36 | + for i in {1..3}; do sudo apt-get install -y tshark && break; sleep 10; done |
28 | 37 | - name: Patch implementations file |
29 | 38 | run: | |
30 | 39 | jq '.openssl = { image: "quay.io/openssl-ci/openssl-quic-interop" |
31 | 40 | , url: "https://github.com/openssl/openssl" |
32 | | - , role: "client" |
| 41 | + , role: "both" |
33 | 42 | }' ./implementations.json > ./implementations.tmp |
34 | 43 | mv ./implementations.tmp implementations.json |
35 | | - - name: "run interop" |
| 44 | + - name: "Update to docker-compose 2.36 and docker engine 28.1.1" |
36 | 45 | run: | |
37 | | - python3 ./run.py -c openssl -t ${{ matrix.tests }} -s ${{ matrix.servers }} --log-dir ./logs -d |
38 | | -
|
39 | | -
|
| 46 | + mkdir -p ~/.docker/cli-plugins/ |
| 47 | + curl -SL https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose |
| 48 | + curl -SL "https://download.docker.com/linux/static/stable/x86_64/docker-28.1.1.tgz" -o ./docker-28.1.1.tgz |
| 49 | + tar --strip-components=1 -xvzf docker-28.1.1.tgz |
| 50 | + echo "$PWD" >> $GITHUB_PATH |
| 51 | + chmod 755 ~/.docker/cli-plugins/docker-compose |
| 52 | + chmod 755 ./docker |
| 53 | + sudo mv ./dockerd $(which dockerd) |
| 54 | + sudo systemctl restart docker |
| 55 | + - name: Check docker version |
| 56 | + run: | |
| 57 | + docker version |
| 58 | + docker compose version |
| 59 | + - name: Patch Docker compose file |
| 60 | + run: | |
| 61 | + yq -i '.services.sim.networks.leftnet += {"interface_name" : "eth0"} |
| 62 | + | .services.sim.networks.rightnet += {"interface_name" : "eth1"} |
| 63 | + | .services.server.networks.rightnet += {"interface_name" : "eth0"} |
| 64 | + | .services.client.networks.leftnet += {"interface_name" : "eth0"}' docker-compose.yml |
| 65 | + - name: "run interop with openssl client" |
| 66 | + run: | |
| 67 | + python3 ./run.py -c openssl -t ${{ matrix.tests }} -s ${{ matrix.servers }} --log-dir ./logs-client -d |
| 68 | + run_quic_interop_openssl_server: |
| 69 | + strategy: |
| 70 | + matrix: |
| 71 | + tests: [http3, transfer, handshake, retry, chacha20, resumption, amplificationlimit, ipv6] |
| 72 | + clients: [quic-go, ngtcp2, mvfst, quiche, msquic, openssl, chrome] |
| 73 | + exclude: |
| 74 | + - clients: mvfst |
| 75 | + tests: amplificationlimit |
| 76 | + fail-fast: false |
| 77 | + runs-on: ubuntu-latest |
| 78 | + steps: |
| 79 | + - uses: actions/checkout@v4 |
| 80 | + with: |
| 81 | + repository: 'quic-interop/quic-interop-runner' |
| 82 | + fetch-depth: 0 |
| 83 | + - name: Install python requirements |
| 84 | + run: | |
| 85 | + for i in {1..3}; do pip install -r requirements.txt && break; sleep 10; done |
| 86 | + - name: Add tshark repo |
| 87 | + run: | |
| 88 | + for i in {1..3}; do sudo add-apt-repository ppa:wireshark-dev/stable && break; done |
| 89 | + - name: Update apt repos |
| 90 | + run: | |
| 91 | + for i in {1..3}; do sudo apt-get update && break; done |
| 92 | + - name: Install tshark |
| 93 | + run: | |
| 94 | + for i in {1..3}; do sudo apt-get install -y tshark && break; done |
| 95 | + - name: Patch implementations file |
| 96 | + run: | |
| 97 | + jq '.openssl = { image: "quay.io/openssl-ci/openssl-quic-interop" |
| 98 | + , url: "https://github.com/openssl/openssl" |
| 99 | + , role: "both" |
| 100 | + }' ./implementations.json > ./implementations.tmp |
| 101 | + mv ./implementations.tmp implementations.json |
| 102 | + - name: "Update to docker-compose 2.36 and docker engine 28.1.1" |
| 103 | + run: | |
| 104 | + mkdir -p ~/.docker/cli-plugins/ |
| 105 | + curl -SL https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose |
| 106 | + curl -SL "https://download.docker.com/linux/static/stable/x86_64/docker-28.1.1.tgz" -o ./docker-28.1.1.tgz |
| 107 | + tar --strip-components=1 -xvzf docker-28.1.1.tgz |
| 108 | + echo "$PWD" >> $GITHUB_PATH |
| 109 | + chmod 755 ~/.docker/cli-plugins/docker-compose |
| 110 | + chmod 755 ./docker |
| 111 | + sudo mv ./dockerd $(which dockerd) |
| 112 | + sudo systemctl restart docker |
| 113 | + - name: Check docker version |
| 114 | + run: | |
| 115 | + docker version |
| 116 | + docker compose version |
| 117 | + - name: Patch Docker compose file |
| 118 | + run: | |
| 119 | + yq -i '.services.sim.networks.leftnet += {"interface_name" : "eth0"} |
| 120 | + | .services.sim.networks.rightnet += {"interface_name" : "eth1"} |
| 121 | + | .services.server.networks.rightnet += {"interface_name" : "eth0"} |
| 122 | + | .services.client.networks.leftnet += {"interface_name" : "eth0"}' docker-compose.yml |
| 123 | + - name: "run interop with openssl server" |
| 124 | + run: | |
| 125 | + python3 ./run.py -s openssl -t ${{ matrix.tests }} -c ${{ matrix.clients }} --log-dir ./logs-server -d |
0 commit comments