From 1ec165bcc753b957f06e7fa6576131fb6823b635 Mon Sep 17 00:00:00 2001 From: Michael Vasseur <14887731+vmcj@users.noreply.github.com> Date: Sun, 22 Dec 2024 00:18:25 +0100 Subject: [PATCH 1/5] Fix the upload of the unit test results We expect the file to be named per matrix job but this was not updated in the code so the upload action couldn't find the files. --- .github/jobs/unit-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/jobs/unit-tests.sh b/.github/jobs/unit-tests.sh index b55fb86ce3..2f5ff66df7 100755 --- a/.github/jobs/unit-tests.sh +++ b/.github/jobs/unit-tests.sh @@ -36,7 +36,7 @@ php $phpcov webapp/bin/phpunit -c webapp/phpunit.xml.dist webapp/tests/$unittest UNITSUCCESS=$? # Store the unit tests also in the root for the GHA -cp $ARTIFACTS/unit-tests.xml $DIR/ +cp $ARTIFACTS/unit-tests.xml $DIR/unit-tests-${version}-${unittest}.xml # Make sure the log exists before copy touch ${DIR}/webapp/var/log/test.log From 7ae59f7c14d5c2ad7e356032f9cb4f7d46fdea1e Mon Sep 17 00:00:00 2001 From: Michael Vasseur <14887731+vmcj@users.noreply.github.com> Date: Sun, 22 Dec 2024 00:27:46 +0100 Subject: [PATCH 2/5] Allow the GHA to report the unit tests results See: https://github.com/DOMjudge/domjudge/actions/runs/12247242151/job/34164708661?pr=2879 Here the push from dependabot failed to add the check-run results. Other possible permissions: https://docs.github.com/en/rest/checks/runs?apiVersion=2022-11-28#create-a-check-run --- .github/workflows/unit-tests.yml | 12 +++++++++ .github/workflows/upload-unit-tests.yml | 34 +++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 .github/workflows/upload-unit-tests.yml 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" From b8415a8e0d1690277d6a3ee2e095f8fab802a6bb Mon Sep 17 00:00:00 2001 From: Michael Vasseur <14887731+vmcj@users.noreply.github.com> Date: Mon, 23 Dec 2024 10:53:12 +0100 Subject: [PATCH 3/5] Fixup --- .github/workflows/upload-unit-tests.yml | 50 ++++++++++++------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/upload-unit-tests.yml b/.github/workflows/upload-unit-tests.yml index aea9dcbbde..b67f30f913 100644 --- a/.github/workflows/upload-unit-tests.yml +++ b/.github/workflows/upload-unit-tests.yml @@ -7,28 +7,28 @@ on: - 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" +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" From 6059dad9c30eacb8c9552b5ae2c334bb6f77a556 Mon Sep 17 00:00:00 2001 From: Michael Vasseur <14887731+vmcj@users.noreply.github.com> Date: Mon, 23 Dec 2024 11:41:21 +0100 Subject: [PATCH 4/5] Fixup --- .github/workflows/upload-unit-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/upload-unit-tests.yml b/.github/workflows/upload-unit-tests.yml index b67f30f913..6ef7486344 100644 --- a/.github/workflows/upload-unit-tests.yml +++ b/.github/workflows/upload-unit-tests.yml @@ -1,4 +1,4 @@ -name: Publish Unittest Results +name: Publish unit test results on: workflow_run: @@ -9,7 +9,7 @@ on: jobs: test-results: - name: Test Results + name: Process test results runs-on: ubuntu-latest if: github.event.workflow_run.conclusion != 'skipped' permissions: From 7337ea13274cdd3cfdf39144f5baa45d5e6d4ef6 Mon Sep 17 00:00:00 2001 From: Michael Vasseur <14887731+vmcj@users.noreply.github.com> Date: Mon, 23 Dec 2024 11:46:51 +0100 Subject: [PATCH 5/5] Trigger against "new" default branch --- .github/workflows/unit-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 07098203e9..f511520328 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -6,6 +6,7 @@ on: branches: - main - '[0-9]+.[0-9]+' + - fix_unit_test_upload_gha jobs: check-static-codecov: