mirror of
https://github.com/jlengrand/error-prone-support.git
synced 2026-03-10 08:11:25 +00:00
45 lines
2.0 KiB
YAML
45 lines
2.0 KiB
YAML
# Performs mutation testing analysis on the files changed by a pull request and
|
|
# uploads the results. The associated PR is subsequently updated by the
|
|
# `pitest-update-pr.yml` workflow. See https://blog.pitest.org/oss-pitest-pr/
|
|
# for details.
|
|
name: "Mutation testing"
|
|
on:
|
|
pull_request:
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
analyze-pr:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Install Harden-Runner
|
|
uses: step-security/harden-runner@a4aa98b93cab29d9b1101a6143fb8bce00e2eac4 # v2.7.1
|
|
with:
|
|
disable-sudo: true
|
|
egress-policy: block
|
|
allowed-endpoints: >
|
|
api.adoptium.net:443
|
|
github.com:443
|
|
objects.githubusercontent.com:443
|
|
repo.maven.apache.org:443
|
|
- name: Check out code and set up JDK and Maven
|
|
uses: s4u/setup-maven-action@6d44c18d67d9e1549907b8815efa5e4dada1801b # v1.12.0
|
|
with:
|
|
checkout-fetch-depth: 2
|
|
java-version: 17.0.10
|
|
java-distribution: temurin
|
|
maven-version: 3.9.6
|
|
- name: Run Pitest
|
|
# By running with features `+GIT(from[HEAD~1]), +gitci`, Pitest only
|
|
# analyzes lines changed in the associated pull request, as GitHub
|
|
# exposes the changes unique to the PR as a single commit on top of the
|
|
# target branch. See https://blog.pitest.org/pitest-pr-setup for
|
|
# details.
|
|
run: mvn test pitest:mutationCoverage -DargLine.xmx=2048m -Dverification.skip -Dfeatures="+GIT(from[HEAD~1]), +gitci"
|
|
- name: Aggregate Pitest reports
|
|
run: mvn pitest-git:aggregate -DkilledEmoji=":tada:" -DmutantEmoji=":zombie:" -DtrailingText="Mutation testing report by [Pitest](https://pitest.org/). Review any surviving mutants by inspecting the line comments under [_Files changed_](${{ github.event.number }}/files)."
|
|
- name: Upload Pitest reports as artifact
|
|
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
|
|
with:
|
|
name: pitest-reports
|
|
path: ./target/pit-reports-ci
|