@@ -101,92 +101,16 @@ jobs:
101
101
path : ${{ matrix.image }}.tar.gz
102
102
if-no-files-found : error
103
103
tests :
104
+ uses : ./.github/workflows/interop_tests.yml
104
105
needs : [ config, docker-pull-tools, docker-pull-images ]
105
- runs-on : ubuntu-latest
106
- continue-on-error : true
107
- timeout-minutes : 45
108
106
strategy :
109
107
fail-fast : false
110
108
matrix :
111
- server : ${{ fromJson(needs.config.outputs.servers) }}
112
109
client : ${{ fromJson(needs.config.outputs.clients) }}
113
- name : (${{ matrix.server }} - ${{ matrix.client }})
114
- steps :
115
- - uses : actions/checkout@v4
116
- - uses : actions/setup-python@v5
117
- with :
118
- python-version : 3.8
119
- - name : Enable IPv6 support
120
- run : sudo modprobe ip6table_filter
121
- - run : docker image ls
122
- - name : Download quic-network-simulator image
123
- uses : actions/download-artifact@v4
124
- with :
125
- name : images-quic-network-simulator
126
- - name : Download quic-interop-iperf-endpoint image
127
- uses : actions/download-artifact@v4
128
- with :
129
- name : images-quic-interop-iperf-endpoint
130
- - name : Download ${{ matrix.server }} Docker image
131
- uses : actions/download-artifact@v4
132
- with :
133
- name : image-${{ matrix.server }}
134
- - name : Download ${{ matrix.client }} Docker image
135
- if : ${{ matrix.server != matrix.client }}
136
- uses : actions/download-artifact@v4
137
- with :
138
- name : image-${{ matrix.client }}
139
- - name : Load docker images
140
- run : |
141
- docker load --input quic-network-simulator.tar.gz
142
- docker load --input quic-interop-iperf-endpoint.tar.gz
143
- docker load --input ${{ matrix.server }}.tar.gz
144
- docker load --input ${{ matrix.client }}.tar.gz
145
- - run : docker image ls
146
- - name : Install Wireshark
147
- run : |
148
- sudo add-apt-repository ppa:wireshark-dev/nightly
149
- sudo apt-get update
150
- sudo apt-get install -y --no-install-recommends tshark
151
- - name : Install Python packages
152
- run : |
153
- pip install -U pip
154
- pip install -r requirements.txt
155
- - name : Run tests
156
- env :
157
- CRON : " true"
158
- run : |
159
- (python run.py --client ${{ matrix.client }} --server ${{ matrix.server }} --log-dir logs --json ${{ matrix.server }}_${{ matrix.client }}_results.json -t onlyTests || true) | tee output.txt
160
- mkdir -p logs/${{ matrix.server }}_${{ matrix.client }}
161
- mv output.txt logs/${{ matrix.server }}_${{ matrix.client }}/
162
- - name : Run measurements
163
- env :
164
- CRON : " true"
165
- run : |
166
- python run.py --client ${{ matrix.client }} --server ${{ matrix.server }} --log-dir logs_measurement --json ${{ matrix.server }}_${{ matrix.client }}_measurements.json -t onlyMeasurements || true
167
- if [ ! -d "logs_measurement" ]; then exit 0; fi
168
- find logs_measurement -depth -name "sim" -type d -exec rm -r "{}" \;
169
- find logs_measurement -depth -name "client" -type d -exec rm -r "{}" \;
170
- find logs_measurement -depth -name "server" -type d -exec rm -r "{}" \;
171
- mv logs_measurement/${{ matrix.server }}_${{ matrix.client }}/* logs/${{ matrix.server }}_${{ matrix.client }}/
172
- - name : Upload logs to interop.seemann.io
173
- uses : burnett01/rsync-deployments@796cf0d5e4b535745ce49d7429f77cf39e25ef39 # v7.0.1
174
- if : ${{ github.event_name == 'schedule' }}
175
- with :
176
- switches : -avzr --relative
177
- path : logs/./${{ matrix.server }}_${{ matrix.client }}/
178
- remote_path : ${{ vars.LOG_DIR }}/${{ needs.config.outputs.logname }}
179
- remote_host : interop.seemann.io
180
- remote_user : ${{ secrets.INTEROP_SEEMANN_IO_USER }}
181
- remote_key : ${{ secrets.INTEROP_SEEMANN_IO_SSH_KEY }}
182
- - name : Upload result
183
- uses : actions/upload-artifact@v4
184
- with :
185
- name : results-${{ matrix.server }}-${{ matrix.client }}
186
- if-no-files-found : error
187
- path : |
188
- ${{ matrix.server }}_${{ matrix.client }}_results.json
189
- ${{ matrix.server }}_${{ matrix.client }}_measurements.json
110
+ name : Client Group (${{ matrix.client }})
111
+ with :
112
+ client : ${{ matrix.client }}
113
+ servers : ${{ needs.config.outputs.servers }}
190
114
aggregate :
191
115
needs : [ config, tests ]
192
116
runs-on : ubuntu-latest
0 commit comments