| language: java |
| |
| |
| jdk: |
| - oraclejdk8 |
| |
| env: |
| matrix: |
| - PROFILE="-Ppitest-checkstyle-xpath,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checkstyle-filters,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-javadoc,no-validations" |
| - PROFILE="-Ppitest-checks-imports,no-validations"; POST_ACTION=check_survived_imports |
| - PROFILE="-Ppitest-checks-metrics,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-regexp,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-sizes,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-whitespace,no-validations"; POST_ACTION=check_survived |
| - PROFILE="-Ppitest-checks-misc,no-validations"; POST_ACTION=check_survived_misc |
| - PROFILE="-Ppitest-checks-blocks,no-validations"; POST_ACTION=check_survived_blocks |
| - PROFILE="-Ppitest-checks-coding,no-validations"; POST_ACTION=check_survived_coding |
| - PROFILE="-Ppitest-checks-design,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-annotation,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-header,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-modifier,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-naming,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checks-indentation,no-validations" |
| - PROFILE="-Ppitest-checkstyle-tree-walker,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checkstyle-common,no-validations"; POST_ACTION=check_survived |
| - PROFILE="-Ppitest-checkstyle-main,no-validations"; POST_ACTION=check_survived_uncovered |
| - PROFILE="-Ppitest-checkstyle-api,no-validations"; POST_ACTION=check_survived |
| - PROFILE="-Ppitest-checkstyle-utils,no-validations"; POST_ACTION=check_survived |
| - PROFILE="-Ppitest-checkstyle-gui,no-validations" |
| |
| branches: |
| only: |
| - master |
| |
| build: |
| cache: true |
| cache_dir_list: |
| - /root/.m2 |
| |
| ci: |
| # we skip PRs and commits that are not for Issues, as pitest is too time consuming |
| - | |
| set -e |
| SKIP_FILES="appveyor.yml|circle.yml|distelli-manifest.yml|.travis.yml|wercker.yml|fast-forward-merge.sh|LICENSE|LICENSE.apache20|README.md|release.sh|RIGHTS.antlr|intellij-idea-inspections.xml|org.eclipse.jdt.core.prefs" |
| SKIP_CI=$(if [[ $(git diff --name-only HEAD HEAD~1 | grep -vE "$SKIP_FILES" | cat | wc -c) > 0 ]]; then echo false; else echo true; fi;) |
| echo "SKIP_CI="$SKIP_CI |
| echo "POST_ACTION="$POST_ACTION |
| if [[ $SKIP_CI == 'false' ]]; |
| then |
| mvn $PROFILE clean verify org.pitest:pitest-maven:mutationCoverage; |
| |
| if [[ $POST_ACTION == 'check_survived_uncovered' \ |
| && ( $(grep -RE "class='survived'" target/ | cat | wc -l) > 0 \ |
| || $(grep -RE "class='uncovered'" target/ | cat | wc -l) > 0) ]]; then |
| echo "Survived items:"$(grep -RE "class='survived'" target/ | cat) |
| echo "Uncovered items:"$(grep -RE "class='uncovered'" target/ | cat) |
| echo "Survived/Uncovered items found in reports, build will be failed" |
| exit 1 |
| fi |
| if [[ $POST_ACTION == 'check_survived' && $(grep -RE "class='survived'" target/ | cat | wc -l) > 0 ]]; then |
| echo "Survived items:"$(grep -RE "class='survived'" target/ | cat) |
| echo "Survived items found in reports, build will be failed" |
| exit 1 |
| fi |
| if [[ $POST_ACTION == 'check_survived_imports' && $(grep -RE "class='survived'" --exclude="CustomImportOrderCheck.*" target/ | cat | wc -l) > 0 ]]; then |
| echo "Survived items:"$(grep -RE "class='survived'" --exclude="CustomImportOrderCheck.*" target/ | cat) |
| echo "Survived items found in reports, build will be failed" |
| exit 1 |
| fi |
| if [[ $POST_ACTION == 'check_survived_misc' && $(grep -RE "class='survived'" --exclude="TranslationCheck.*" target/ | cat | wc -l) > 0 ]]; then |
| echo "Survived items:"$(grep -RE "class='survived'" --exclude="TranslationCheck.*" target/ | cat) |
| echo "Survived items found in reports, build will be failed" |
| exit 1 |
| fi |
| if [[ $POST_ACTION == 'check_survived_blocks' && $(grep -RE "class='survived'" --exclude="LeftCurlyCheck.*" target/ | cat | wc -l) > 0 ]]; then |
| echo "Survived items:"$(grep -RE "class='survived'" --exclude="LeftCurlyCheck.*" target/ | cat) |
| echo "Survived items found in reports, build will be failed" |
| exit 1 |
| fi |
| if [[ $POST_ACTION == 'check_survived_coding' |
| && $(grep -RE "class='survived'" --exclude="EqualsAvoidNullCheck.*" \ |
| --exclude="FallThroughCheck.*" --exclude="HiddenFieldCheck.*" --exclude="IllegalInstantiationCheck.*" \ |
| --exclude="IllegalTypeCheck.*" \ |
| --exclude="MultipleVariableDeclarationsCheck.*" \ |
| --exclude="RequireThisCheck.*" \ |
| --exclude="UnnecessaryParenthesesCheck.*" --exclude="VariableDeclarationUsageDistanceCheck.*" target/ | cat | wc -l) > 0 ]]; then |
| echo "Survived items:"$(grep -RE "class='survived'" --exclude="EqualsAvoidNullCheck.*" \ |
| --exclude="FallThroughCheck.*" --exclude="HiddenFieldCheck.*" --exclude="IllegalInstantiationCheck.*" \ |
| --exclude="IllegalTypeCheck.*" \ |
| --exclude="MultipleVariableDeclarationsCheck.*" \ |
| --exclude="RequireThisCheck.*" \ |
| --exclude="UnnecessaryParenthesesCheck.*" --exclude="VariableDeclarationUsageDistanceCheck.*" target/ | cat) |
| echo "Survived items found in reports, build will be failed" |
| exit 1 |
| fi |
| else |
| echo "Build is skipped, changed files:" |
| git diff --name-only HEAD HEAD~1 |
| fi |