Skip to content

Issue #14599: Create performance regression test CI #16125

Issue #14599: Create performance regression test CI

Issue #14599: Create performance regression test CI #16125

Workflow file for this run

name: Pitest
on:
push:
branches:
- master
pull_request:
branches: '*'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
test:
if: github.repository == 'checkstyle/checkstyle'
strategy:
matrix:
profile:
- annotation
- ant
- api
- blocks
- coding-1
- coding-2
- coding-require-this-check
- common
- common-2
- design
- filters
- header
- imports
- indentation
- javadoc
- main
- metrics
- misc
- modifier
- naming
- packagenamesloader
- regexp
- sizes
- tree-walker
- utils
- whitespace
- xpath
- java-ast-visitor
# GUI package needs better test coverage before adding to execution.
# - gui
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
- name: Install groovy
run: |
sudo apt update
sudo apt install groovy
- name: Setup local maven cache
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: checkstyle-maven-cache-${{ hashFiles('**/pom.xml') }}
- name: Checkout
uses: actions/checkout@v4
- name: Generate pitest-${{ matrix.profile }} report
run: |
./.ci/pitest.sh "pitest-${{ matrix.profile }}"
- name: Patch command for pitest-${{ matrix.profile }}
if: failure()
run: |
printf "\nTo patch suppression list run:\n\n"
GIT_DIFF=$(git diff)
printf "patch -p1 << EOF\n%s\nEOF" "$GIT_DIFF"
exit 1
- name: Stage results
if: failure() || github.ref == 'refs/heads/master'
run: |
mkdir staging && cp -r target/pit-reports/ staging
git diff && git diff > target/pitest-${{ matrix.profile }}.patch
- name: Archive code coverage results
if: failure() || github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v4
with:
name: pitest-${{ matrix.profile }}-coverage-report
path: |
staging
target/pitest-${{ matrix.profile }}.patch
retention-days: 7