From 9724ab23fb5aa844f0712655b6abb7ec8be71795 Mon Sep 17 00:00:00 2001 From: Chris Vest Date: Fri, 28 May 2021 17:54:35 +0200 Subject: [PATCH 1/2] Make it possible for 3rd party PRs to get test results uploaded --- .github/workflows/ci-test-results.yml | 45 +++++++++++++++++++++++++++ .github/workflows/ci-workflow.yml | 45 ++++++++++++++++----------- 2 files changed, 71 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/ci-test-results.yml diff --git a/.github/workflows/ci-test-results.yml b/.github/workflows/ci-test-results.yml new file mode 100644 index 0000000..ffe2602 --- /dev/null +++ b/.github/workflows/ci-test-results.yml @@ -0,0 +1,45 @@ +# ---------------------------------------------------------------------------- +# Copyright 2021 The Netty Project +# +# The Netty Project licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- +name: Upload Test Results +on: + workflow_run: + workflows: [ "Build" ] + types: + - completed + +jobs: + tests: + runs-on: ubuntu-latest + strategy: + matrix: + version: [ "java17", "java11" ] + steps: + - name: Download Artifacts + uses: dawidd6/action-download-artifact@v2.11.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + workflow: ${{ github.event.workflow_run.workflow_id }} + workflow_conclusion: completed + commit: ${{ github.event.workflow_run.head_commit.id }} + # The artefact name must be coordinated with the "Upload * Test Results" steps in ci-workflow.yml. + name: test-results-${{ matrix.version }} + - name: Publish Test Report + uses: scacap/action-surefire-report@v1.0.9 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + report_paths: '**/target/surefire-reports/TEST-*.xml' + commit: ${{ github.event.workflow_run.head_commit.id }} + check_name: Test results ${{ matrix.version }} \ No newline at end of file diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index a192034..bb494b3 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -1,17 +1,28 @@ +# ---------------------------------------------------------------------------- +# Copyright 2021 The Netty Project +# +# The Netty Project licenses this file to you under the Apache License, +# version 2.0 (the "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at: +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- name: Build -# Controls when the action will run. on: - # Triggers the workflow on push or pull request events but only for the main branch push: branches: [ main ] pull_request: branches: [ main ] schedule: - cron: '30 6 * * 1' # At 06:30 on Monday, every Monday. - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: + workflow_dispatch: # This allows us to run the workflow manually from the Actions tab jobs: java17: @@ -38,14 +49,12 @@ jobs: # Run the make script - name: Make build run: make build - - name: Publish Test Report - uses: scacap/action-surefire-report@v1.0.9 - if: ${{ always() }} + - name: Upload Java 17 Test Results + if: always() + uses: actions/upload-artifact@v2 with: - github_token: ${{ secrets.GITHUB_TOKEN }} - report_paths: '**/target/surefire-reports/TEST-*.xml' - commit: ${{ github.event.workflow_run.head_commit.id }} - check_name: java17 test reports + name: test-results-java17 + path: '**/target/surefire-reports/TEST-*.xml' - name: Upload build artefacts uses: actions/upload-artifact@v2 if: ${{ failure() }} @@ -72,14 +81,12 @@ jobs: ${{ runner.os }}-maven- - name: Maven build run: mvn verify -B -C -T1C -fae - - name: Publish Test Report - uses: scacap/action-surefire-report@v1.0.9 - if: ${{ always() }} + - name: Upload Java 11 Test Results + if: always() + uses: actions/upload-artifact@v2 with: - github_token: ${{ secrets.GITHUB_TOKEN }} - report_paths: '**/target/surefire-reports/TEST-*.xml' - commit: ${{ github.event.workflow_run.head_commit.id }} - check_name: java11 test reports + name: test-results-java11 + path: '**/target/surefire-reports/TEST-*.xml' - name: Upload build artefacts uses: actions/upload-artifact@v2 if: ${{ failure() }} From 2ae7a88067fb524867223e761d2cbf34ef9aa1d9 Mon Sep 17 00:00:00 2001 From: Chris Vest Date: Fri, 28 May 2021 18:23:10 +0200 Subject: [PATCH 2/2] Cleanups and re-trigger GHA workflow --- .github/workflows/ci-test-results.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci-test-results.yml b/.github/workflows/ci-test-results.yml index ffe2602..a0a416d 100644 --- a/.github/workflows/ci-test-results.yml +++ b/.github/workflows/ci-test-results.yml @@ -14,32 +14,32 @@ # under the License. # ---------------------------------------------------------------------------- name: Upload Test Results + on: workflow_run: - workflows: [ "Build" ] - types: - - completed + workflows: ["Build"] + types: [completed] jobs: - tests: + test_reports: runs-on: ubuntu-latest strategy: matrix: - version: [ "java17", "java11" ] + java: [java17, java11] steps: - name: Download Artifacts - uses: dawidd6/action-download-artifact@v2.11.0 + uses: dawidd6/action-download-artifact@v2.14.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} workflow: ${{ github.event.workflow_run.workflow_id }} workflow_conclusion: completed commit: ${{ github.event.workflow_run.head_commit.id }} # The artefact name must be coordinated with the "Upload * Test Results" steps in ci-workflow.yml. - name: test-results-${{ matrix.version }} + name: test-results-${{ matrix.java }} - name: Publish Test Report - uses: scacap/action-surefire-report@v1.0.9 + uses: scacap/action-surefire-report@v1.0.10 with: github_token: ${{ secrets.GITHUB_TOKEN }} report_paths: '**/target/surefire-reports/TEST-*.xml' commit: ${{ github.event.workflow_run.head_commit.id }} - check_name: Test results ${{ matrix.version }} \ No newline at end of file + check_name: Test results ${{ matrix.java }}