diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 7455125a7f..07098203e9 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -18,6 +18,8 @@ jobs: run: diff newcodecov .github/jobs/uploadcodecov.sh unit-tests: + permissions: + checks: write runs-on: ubuntu-24.04 timeout-minutes: 20 container: @@ -79,3 +81,13 @@ jobs: /opt/domjudge/domserver/webapp/var/log/*.log /tmp/docker-logs /tmp/artifacts + + event_file: + name: "Post results assuming forks" + runs-on: ubuntu-latest + steps: + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: Event File + path: ${{ github.event_path }} diff --git a/.github/workflows/upload-unit-tests.yml b/.github/workflows/upload-unit-tests.yml new file mode 100644 index 0000000000..aea9dcbbde --- /dev/null +++ b/.github/workflows/upload-unit-tests.yml @@ -0,0 +1,34 @@ +name: Publish Unittest Results + +on: + workflow_run: + workflows: ["Unit tests"] + types: + - completed + permissions: {} + + jobs: + test-results: + name: Test Results + runs-on: ubuntu-latest + if: github.event.workflow_run.conclusion != 'skipped' + permissions: + # required by download step to access artifacts API + actions: read + # write the actual check-run + checks: write + # needed unless run with comment_mode: off + pull-requests: write + steps: + - name: Download and Extract Artifacts + uses: dawidd6/action-download-artifact@e7466d1a7587ed14867642c2ca74b5bcc1e19a2d + with: + run_id: ${{ github.event.workflow_run.id }} + path: artifacts + - name: Publish Test Results + uses: EnricoMi/publish-unit-test-result-action@v2 + with: + commit: ${{ github.event.workflow_run.head_sha }} + event_file: artifacts/Event File/event.json + event_name: ${{ github.event.workflow_run.event }} + files: "tmp/artifacts/**/*.xml"