From 5385b21fd3518c019759c99e85b1b9e9b89fed28 Mon Sep 17 00:00:00 2001 From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> Date: Tue, 19 Dec 2023 19:33:46 -0800 Subject: [PATCH] [ci skip] Make test results viewable in-browser and downloadable (#10055) * Post test results * empty commit * Make a test fail * Add missing check * Disable commenting * Revert "Make a test fail" This reverts commit d919653c2b38a3afb74d28e5462685f7ec54b16a. * remove commenting permission --- .github/workflows/build.yml | 25 ++++++++++++++++++++--- .github/workflows/test_results.yml | 32 ++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/test_results.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e1c36e150..af890ab325 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,9 +24,9 @@ jobs: java: [17] fail-fast: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: JDK ${{ matrix.java }} - uses: actions/setup-java@v3.11.0 + uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} distribution: 'temurin' @@ -77,13 +77,32 @@ jobs: - name: Build run: ./gradlew build --stacktrace + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v4 + with: + name: Test Results (${{ matrix.java }}) + path: | + **/build/test-results/test/TEST-*.xml + - name: Create Paperclip Jar if: fromJSON(steps.determine.outputs.result).action == 'paperclip' run: ./gradlew createReobfPaperclipJar --stacktrace - name: Upload Paperclip Jar if: fromJSON(steps.determine.outputs.result).action == 'paperclip' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: paper-${{ fromJSON(steps.determine.outputs.result).pr }} path: build/libs/paper-paperclip-*-reobf.jar + event_file: + name: "Event File" + # Only run on PRs if the source branch is on someone else's repo + if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }} + 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/test_results.yml b/.github/workflows/test_results.yml new file mode 100644 index 0000000000..03589c3912 --- /dev/null +++ b/.github/workflows/test_results.yml @@ -0,0 +1,32 @@ +name: Test Results + +on: + workflow_run: + workflows: [ "Build Paper" ] + types: + - completed +permissions: { } + +jobs: + test-results: + name: Test Results + runs-on: ubuntu-latest + if: github.event.workflow_run.conclusion != 'skipped' + permissions: + checks: write + # for downloading test result artifacts + actions: read + steps: + - name: Download and Extract Artifacts + uses: dawidd6/action-download-artifact@v3 + 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: "artifacts/**/*.xml" + comment_mode: off