5
5
wpt :
6
6
required : false
7
7
type : string
8
+ layout :
9
+ required : false
10
+ type : string
8
11
unit-tests :
9
12
required : false
10
13
default : false
23
26
required : false
24
27
type : choice
25
28
options : ["test", "sync"]
29
+ layout :
30
+ required : false
31
+ type : choice
32
+ options : ["2013", "2020", "all"]
26
33
unit-tests :
27
34
required : false
28
35
default : false
@@ -106,117 +113,23 @@ jobs:
106
113
name : release-binary
107
114
path : target.tar.gz
108
115
109
- linux-wpt :
110
- if : ${{ github.ref_name == 'try-wpt' || github.ref_name == 'try-wpt-2020' || inputs.wpt }}
111
- name : Linux WPT Tests
112
- runs-on : ubuntu-20.04
116
+ linux-wpt-2020 :
117
+ if : ${{ github.ref_name == 'try-wpt-2020' || inputs.layout == '2020' || inputs.layout == 'all' }}
118
+ name : Linux WPT Tests 2020
113
119
needs : ["build-linux"]
114
- env :
115
- max_chunk_id : 20
116
- strategy :
117
- fail-fast : false
118
- matrix :
119
- layout : ["layout-2020", "layout-2013"]
120
- chunk_id : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
121
- steps :
122
- - uses : actions/checkout@v3
123
- with :
124
- fetch-depth : 2
125
- - uses : actions/download-artifact@v3
126
- with :
127
- name : release-binary
128
- path : release-binary
129
- - name : unPackage binary
130
- run : tar -xzf release-binary/target.tar.gz
131
- - name : Prep test environment
132
- run : |
133
- python3 -m pip install --upgrade pip virtualenv
134
- sudo apt update
135
- sudo apt install -qy --no-install-recommends libgl1 libssl1.1 libdbus-1-3 libxcb-xfixes0-dev libxcb-shape0-dev libunwind8 libegl1-mesa
136
- wget http://mirrors.kernel.org/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb
137
- sudo apt install ./libffi6_3.2.1-8_amd64.deb
138
- python3 ./mach bootstrap-gstreamer
139
- - name : Fetch upstream changes before testing
140
- if : ${{ inputs.wpt == 'sync' }}
141
- run : |
142
- ./etc/ci/update-wpt-checkout fetch-upstream-changes
143
- - name : Run tests
144
- if : ${{ inputs.wpt != 'sync' }}
145
- run : |
146
- python3 ./mach test-wpt --with-${{ matrix.layout }} \
147
- --release --processes $(nproc) --timeout-multiplier 2 \
148
- --total-chunks ${{ env.max_chunk_id }} --this-chunk ${{ matrix.chunk_id }} \
149
- --log-raw test-wpt-${{ matrix.layout }}.${{ matrix.chunk_id }}.log \
150
- --log-raw-unexpected unexpected-test-wpt-${{ matrix.layout }}.${{ matrix.chunk_id }}.log \
151
- --filter-intermittents filtered-test-wpt-${{ matrix.layout }}.${{ matrix.chunk_id }}.json
152
- env :
153
- GITHUB_CONTEXT : ${{ toJson(github) }}
154
- INTERMITTENT_TRACKER_DASHBOARD_SECRET : ${{ secrets.INTERMITTENT_TRACKER_DASHBOARD_SECRET }}
155
- - name : Run tests (sync)
156
- if : ${{ inputs.wpt == 'sync' }}
157
- run : |
158
- python3 ./mach test-wpt --with-${{ matrix.layout }} \
159
- --release --processes $(nproc) --timeout-multiplier 2 \
160
- --total-chunks ${{ env.max_chunk_id }} --this-chunk ${{ matrix.chunk_id }} \
161
- --log-raw test-wpt.${{ matrix.chunk_id }}.log \
162
- --always-succeed
163
- - name : Archive filtered results
164
- uses : actions/upload-artifact@v3
165
- if : ${{ always() && inputs.wpt != 'sync' }}
166
- with :
167
- name : wpt-filtered-results-linux
168
- path : |
169
- filtered-test-wpt-${{ matrix.layout }}.${{ matrix.chunk_id }}.json
170
- unexpected-test-wpt-${{ matrix.layout }}.${{ matrix.chunk_id }}.log
171
- - name : Archive logs
172
- uses : actions/upload-artifact@v3
173
- if : ${{ failure() && inputs.wpt != 'sync' }}
174
- with :
175
- name : wpt-logs-linux
176
- path : |
177
- test-wpt-${{ matrix.layout }}.${{ matrix.chunk_id }}.log
178
- - name : Archive logs
179
- uses : actions/upload-artifact@v3
180
- if : ${{ inputs.wpt == 'sync' }}
181
- with :
182
- name : wpt-logs-linux-${{ matrix.layout }}
183
- path : |
184
- test-wpt.${{ matrix.chunk_id }}.log
185
- wpt-jsonsummary.${{ matrix.chunk_id }}.log
120
+ uses : ./.github/workflows/linux-wpt.yml
121
+ with :
122
+ wpt : ${{ inputs.wpt }}
123
+ layout : " layout-2020"
186
124
187
- report-test-results :
188
- name : Reporting test results
189
- runs-on : ubuntu-latest
190
- if : ${{ always() && !cancelled() && success('build-linux') && (github.ref_name == 'try-wpt' || github.ref_name == 'try-wpt-2020' || inputs.wpt == 'test') }}
191
- needs :
192
- - " linux-wpt"
193
- steps :
194
- - uses : actions/checkout@v3
195
- with :
196
- fetch-depth : 2
197
- - uses : actions/download-artifact@v3
198
- with :
199
- name : wpt-filtered-results-linux
200
- path : wpt-filtered-results-linux
201
- - name : Create aggregated unexpected results
202
- run : |
203
- cat wpt-filtered-results-linux/*-layout-2020.*.log > unexpected-test-wpt-layout-2020.log
204
- cat wpt-filtered-results-linux/*-layout-2013.*.log > unexpected-test-wpt-layout-2013.log
205
- - name : Archive aggregate results
206
- uses : actions/upload-artifact@v3
207
- with :
208
- name : wpt-filtered-results-linux
209
- path : |
210
- unexpected-test-wpt-layout-2020.log
211
- unexpected-test-wpt-layout-2013.log
212
- - name : Comment on PR with results
213
- run : |
214
- etc/ci/report_aggregated_expected_results.py --tag="linux-wpt-2020" wpt-filtered-results-linux/*-layout-2020.*.json
215
- etc/ci/report_aggregated_expected_results.py --tag="linux-wpt-2013" wpt-filtered-results-linux/*-layout-2013.*.json
216
- env :
217
- GITHUB_CONTEXT : ${{ toJson(github) }}
218
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
219
- RESULTS : ${{ toJson(needs.*.result) }}
125
+ linux-wpt-2013 :
126
+ if : ${{ github.ref_name == 'try-wpt' || inputs.layout == '2013' || inputs.layout == 'all' }}
127
+ name : Linux WPT Tests 2013
128
+ needs : ["build-linux"]
129
+ uses : ./.github/workflows/linux-wpt.yml
130
+ with :
131
+ wpt : ${{ inputs.wpt }}
132
+ layout : " layout-2013"
220
133
221
134
build_result :
222
135
name : homu build finished
@@ -225,8 +138,8 @@ jobs:
225
138
# needs all build to detect cancellation
226
139
needs :
227
140
- " build-linux"
228
- - " linux-wpt"
229
- - " report-test-results "
141
+ - " linux-wpt-2020 "
142
+ - " linux-wpt-2013 "
230
143
231
144
steps :
232
145
- name : Mark the job as successful
0 commit comments