This action processes maven surefire or failsafe XML reports on pull requests and shows the result as a PR check with summary and annotations.
Optional. Glob expression to surefire or failsafe report paths. The default is **/surefire-reports/TEST-*.xml.
Optional. Set to false to add annotations to the current job where this action is being executed. The default is true.
Optional. Check name to use when creating a check run. The default is Test Report.
Optional. The commit sha to update the status. This is useful when you run it with workflow_run.
Optional. Check will fail if there are test failures. The default is false.
Optional. Check will fail if no tests were found. The default is true.
Optional. Set to true to consider flaky tests as success. The default is false.
Optional. Skip the test report publishing (check run creation). The default is false.
Optional. Usually in form of github_token: ${{ secrets.GITHUB_TOKEN }}. The default is ${{ github.token }}.
Optional. Set to true to get the file name from the stack trace. The default is false.
Optional: If you use GitHub Enterprise, you can set this to the URL of your server (e.g. https://github.myorg.com/api/v3).
name: build
on:
pull_request:
jobs:
build:
name: Build and Run Tests
runs-on: ubuntu-latest
# Permissions block is optional, useful for dependabot checks
permissions:
checks: write
contents: read
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Build and Run Tests
run: mvn test --batch-mode --fail-at-end
- name: Publish Test Report
if: success() || failure()
uses: scacap/action-surefire-report@v1As Gradle uses a different build directory than Maven by default, you might need to set the report_paths variable:
report_paths: '**/build/test-results/test/TEST-*.xml'You also need to enable JUnit XML reports as shown below.
test {
reports {
junitXml.enabled = true
}
}