diff --git a/.github/actions/ui-report/action.yml b/.github/actions/ui-report/action.yml index c916d0fa6..1f2a7074a 100644 --- a/.github/actions/ui-report/action.yml +++ b/.github/actions/ui-report/action.yml @@ -4,6 +4,10 @@ inputs: model: description: 'Internal model name' required: true + status: + description: 'Either "success" or "failure"' + required: false + default: "failure" runs: using: composite steps: @@ -22,6 +26,12 @@ runs: mv tests/trezor.log $OUTDIR || true diff -u tests/ui_tests/fixtures.json tests/ui_tests/fixtures.suggestion.json || true tar -cf screens_$MODELJOB.tar tests/ui_tests/screens || true + + if [ "${{ inputs.status }}" = "success" ]; then + cp .github/actions/ui-report/success.png $OUTDIR/status.png + else + cp .github/actions/ui-report/failure.png $OUTDIR/status.png + fi shell: sh - name: Upload report run: | diff --git a/.github/actions/ui-report/failure.png b/.github/actions/ui-report/failure.png new file mode 100644 index 000000000..f65202a83 Binary files /dev/null and b/.github/actions/ui-report/failure.png differ diff --git a/.github/actions/ui-report/success.png b/.github/actions/ui-report/success.png new file mode 100644 index 000000000..7513721c2 Binary files /dev/null and b/.github/actions/ui-report/success.png differ diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index 09fc0cdc3..3f030c637 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -20,10 +20,10 @@ env: PULL_COMMENT: | |core UI changes|device test|click test|persistence test| |---------------|-----------|----------|----------------| - |T2T1 Model T |[test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_device_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_device_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_device_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_device_test/master_diff.html)) |[test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_click_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_click_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_click_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_click_test/master_diff.html)) |[test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_persistence_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_persistence_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_persistence_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_persistence_test/master_diff.html))|| - |T2B1 Safe 3 |[#3280](https://github.com/trezor/trezor-firmware/issues/3280) |[test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2B1-core_click_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2B1-core_click_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2B1-core_click_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2B1-core_click_test/master_diff.html)) |[#2724](https://github.com/trezor/trezor-firmware/issues/2724) || - |T3T1 |[test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_device_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_device_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_device_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_device_test/master_diff.html)) |[test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_click_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_click_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_click_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_click_test/master_diff.html)) |[test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_persistence_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_persistence_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_persistence_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_persistence_test/master_diff.html))|| - |All |[main](https://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}/index.html)([screens](https://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}/master_diff.html)) || + |T2T1 Model T | [test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_device_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_device_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_device_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_device_test/master_diff.html)) | [test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_click_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_click_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_click_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_click_test/master_diff.html)) | [test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_persistence_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_persistence_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_persistence_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2T1-core_persistence_test/master_diff.html))|| + |T2B1 Safe 3 |[3280](https://github.com/trezor/trezor-firmware/issues/3280) | [test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2B1-core_click_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2B1-core_click_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2B1-core_click_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T2B1-core_click_test/master_diff.html)) |[2724](https://github.com/trezor/trezor-firmware/issues/2724) || + |T3T1 | [test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_device_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_device_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_device_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_device_test/master_diff.html)) | [test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_click_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_click_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_click_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_click_test/master_diff.html)) | [test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_persistence_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_persistence_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_persistence_test/master_index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T3T1-core_persistence_test/master_diff.html))|| + |All | [main](https://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}/index.html)([screens](https://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}/master_diff.html)) || jobs: param: @@ -251,6 +251,7 @@ jobs: - uses: ./.github/actions/ui-report with: model: ${{ matrix.model }} + status: ${{ job.status }} if: ${{ always() && env.ACTIONS_DO_UI_TEST == 'true' }} continue-on-error: true - uses: ./.github/actions/ui-comment @@ -304,6 +305,7 @@ jobs: - uses: ./.github/actions/ui-report with: model: ${{ matrix.model }} + status: ${{ job.status }} if: always() continue-on-error: true - run: mv core/src/.coverage core/.coverage.test_click || true @@ -377,6 +379,7 @@ jobs: - uses: ./.github/actions/ui-report with: model: ${{ matrix.model }} + status: ${{ job.status }} if: always() continue-on-error: true - run: mv core/src/.coverage core/.coverage.test_persistence || true @@ -679,7 +682,13 @@ jobs: continue-on-error: true - run: "for F in screens_*.tar; do tar xvf $F; done || true" - run: nix-shell --run "poetry run python -m tests.ui_tests.reporting master-diff TT TR" - - run: mv tests/ui_tests/reports/master_diff . + - run: | + mv tests/ui_tests/reports/master_diff . + if [ "${{ job.status }}" = "success" ]; then + cp .github/actions/ui-report/success.png master_diff/status.png + else + cp .github/actions/ui-report/failure.png master_diff/status.png + fi - name: Upload diff from main branch run: | aws s3 sync master_diff s3://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }} diff --git a/.github/workflows/legacy.yml b/.github/workflows/legacy.yml index d836e862b..e6c40aeab 100644 --- a/.github/workflows/legacy.yml +++ b/.github/workflows/legacy.yml @@ -11,7 +11,7 @@ permissions: env: PULL_COMMENT: | - |legacy UI changes|[device test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T1B1-legacy_device_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T1B1-legacy_device_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}/)([screens](https://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}/master_diff.html))| + |legacy UI changes| [device test](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T1B1-legacy_device_test/index.html)([screens](https://data.trezor.io/dev/firmware/ui_report/${{ github.run_id }}/T1B1-legacy_device_test/differing_screens.html)) [main](https://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}/)([screens](https://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}/master_diff.html))| |-----------------|-----| jobs: @@ -97,6 +97,7 @@ jobs: - uses: ./.github/actions/ui-report with: model: T1B1 + status: ${{ job.status }} continue-on-error: true if: ${{ always() && matrix.coins == 'universal' }} - uses: ./.github/actions/ui-comment @@ -167,7 +168,13 @@ jobs: continue-on-error: true - run: "for F in screens_*.tar; do tar xvf $F; done || true" - run: nix-shell --run "poetry run python -m tests.ui_tests.reporting master-diff T1" - - run: mv tests/ui_tests/reports/master_diff . + - run: | + mv tests/ui_tests/reports/master_diff . + if [ "${{ job.status }}" = "success" ]; then + cp .github/actions/ui-report/success.png master_diff/status.png + else + cp .github/actions/ui-report/failure.png master_diff/status.png + fi - name: Upload main branch diff run: | aws s3 sync master_diff s3://data.trezor.io/dev/firmware/master_diff/${{ github.run_id }}