4545 select($devices[.] != null) |
4646 {
4747 "device": .,
48+ "name:": $devices[.].name,
4849 "proxy": $labs[$lab].proxy,
4950 "target": $devices[.].target,
5051 "firmware": $devices[.].firmware
@@ -120,8 +121,10 @@ jobs:
120121
121122 - name : Run test
122123 run : |
124+ mkdir -p ${{ matrix.device }}/
123125 uv run pytest tests/ \
124- --lg-log \
126+ --lg-log ${{ matrix.device }}/ \
127+ --junitxml=${{ matrix.device }}/report.xml \
125128 --lg-colored-steps \
126129 --log-cli-level=CONSOLE \
127130 --alluredir allure-results
@@ -132,12 +135,12 @@ jobs:
132135 uv run labgrid-client power off || true
133136 uv run labgrid-client unlock
134137
135- - name : Upload console logs
138+ - name : Upload results
136139 uses : actions/upload-artifact@v4
137140 if : always()
138141 with :
139- name : console-${{ matrix.proxy }} -${{ matrix.device }}
140- path : console_ *
142+ name : results -${{ matrix.device }}
143+ path : ${{ matrix.device }}/ *
141144
142145 - name : Upload allure results
143146 uses : actions/upload-artifact@v4
@@ -197,19 +200,22 @@ jobs:
197200 gunzip ${{ matrix.firmware }} || true
198201 firmware=${{ matrix.firmware }}
199202
203+ mkdir -p ${{ matrix.target }}
204+
200205 uv run pytest tests/ \
201- --lg-log \
206+ --lg-log ${{ matrix.target }}/ \
207+ --junitxml=${{ matrix.target }}/report.xml \
202208 --lg-colored-steps \
203209 --log-cli-level=CONSOLE \
204210 --alluredir allure-results \
205211 --firmware $GITHUB_WORKSPACE/${firmware/.gz/}
206212
207- - name : Upload console logs
213+ - name : Upload results
208214 uses : actions/upload-artifact@v4
209215 if : always()
210216 with :
211- name : console -${{ matrix.target }}
212- path : console_ *
217+ name : report -${{ matrix.target }}
218+ path : ${{ matrix.target }}/ *
213219
214220 - name : Upload allure results
215221 uses : actions/upload-artifact@v4
@@ -219,42 +225,34 @@ jobs:
219225 path : allure-results
220226
221227 allure :
222- name : Deploy Allure Report
228+ name : Deploy results page
223229 runs-on : ubuntu-latest
224230 if : always()
225231 needs :
232+ - generate-matrix
226233 - test-real
227234 - test-qemu
228235 steps :
229- - name : Download all Allure results
236+ - name : Download all results
230237 uses : actions/download-artifact@v4
231238 with :
232- path : allure-results
239+ path : page/data
233240
234- - name : Copy all results in the same folder
235- continue-on-error : true
236- run : cp -fv allure-results/allure-results-*/* allure-results/
237-
238- - name : Load test report history
241+ - name : Check out repository code
239242 uses : actions/checkout@v4
240- if : always()
241- continue-on-error : true
242243 with :
243- ref : gh-pages
244- path : gh-pages
244+ depth : 1
245+ path : openwrt-tests/
245246
246- - name : Build test report
247- uses : simple-elf/allure-report-action@v1.12
248- if : always()
249- with :
250- gh_pages : gh-pages
251- allure_history : allure-history
252- allure_results : allure-results
247+ - name : Setup dashboard
248+ run : |
249+ cp openwrt-tests/contrib/index.html page/index.html
250+ echo '${{ needs.generate-matrix.outputs.matrix }}' > page/devices.json
253251
254252 - name : Publish test report
255253 uses : peaceiris/actions-gh-pages@v4
256254 if : always()
257255 with :
258256 github_token : ${{ secrets.GITHUB_TOKEN }}
259257 publish_branch : gh-pages
260- publish_dir : allure-history
258+ publish_dir : page/
0 commit comments