Make it possible for 3rd party PRs to get test results uploaded

This commit is contained in:
Chris Vest 2021-05-28 17:54:35 +02:00
parent f3c86e3fbc
commit 9724ab23fb
2 changed files with 71 additions and 19 deletions

45
.github/workflows/ci-test-results.yml vendored Normal file
View File

@ -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 }}

View File

@ -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() }}