fixed typo #70
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Java CI with Maven | |
on: | |
push: | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/[email protected] | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
cache: 'maven' | |
- name: Build and Test with Maven - Default Configuration | |
timeout-minutes: 15 | |
run: | | |
./mvnw -B verify | |
- name: Get JaCoCo Coverage - Default configuration | |
id: coverage_default | |
run: | | |
coverage=$(python3 config/coverage.py target/site/jacoco/jacoco.csv) | |
echo "COVERAGE=$coverage" >> $GITHUB_ENV | |
- name: Fail if coverage has not improved for default configuration. | |
run: | | |
coverage=$COVERAGE | |
threshold=24.46 | |
if (( $(echo "$coverage - $threshold <= 0.1" | bc -l) )); then | |
echo "Coverage is not improved for default configuration." | |
exit 1 | |
else | |
echo "New coverage: $coverage%. Coverage is improved for default configuration!" | |
fi | |
################################################################################### | |
# - name: Build and Test with Maven - Print default flags | |
# timeout-minutes: 15 | |
# run: | | |
# echo "Printing default flags." | |
# export MAVEN_OPTS="-XX:+PrintFlagsFinal" | |
# ./mvnw -B verify | |
# unset MAVEN_OPTS | |
################################################################################### | |
- name: Build and Test with Maven - Configuration 1 | |
timeout-minutes: 15 | |
run: | | |
echo "Configuration 1 - Test build with change of garbage collection type." | |
export MAVEN_OPTS="-XX:+UseSerialGC" | |
./mvnw -B verify | |
unset MAVEN_OPTS | |
- name: Get JaCoCo Coverage - Configuration 1 | |
id: coverage_config1 | |
run: | | |
coverage=$(python3 config/coverage.py target/site/jacoco/jacoco.csv) | |
echo "COVERAGE=$coverage" >> $GITHUB_ENV | |
- name: Fail if coverage has not improved for configuration 1. | |
run: | | |
coverage=$COVERAGE | |
threshold=24.46 | |
if (( $(echo "$coverage - $threshold <= 0.1" | bc -l) )); then | |
echo "Coverage is not improved for configuration 1." | |
exit 1 | |
else | |
echo "New coverage: $coverage%. Coverage is improved for configuration 1!" | |
fi | |
################################################################################### | |
- name: Build and Test with Maven - Configuration 2 | |
timeout-minutes: 15 | |
run: | | |
echo "Configuration 2 - Test build with reduced heap size." | |
export MAVEN_OPTS="-XX:MaxHeapSize=2G -XX:MinHeapSize=4M" | |
./mvnw -B verify | |
unset MAVEN_OPTS | |
- name: Get JaCoCo Coverage - Configuration 2 | |
id: coverage_config2 | |
run: | | |
coverage=$(python3 config/coverage.py target/site/jacoco/jacoco.csv) | |
echo "COVERAGE=$coverage" >> $GITHUB_ENV | |
- name: Fail if coverage has not improved for configuration 2. | |
run: | | |
coverage=$COVERAGE | |
threshold=24.46 | |
if (( $(echo "$coverage - $threshold <= 0.1" | bc -l) )); then | |
echo "Coverage is not improved for configuration 2." | |
exit 1 | |
else | |
echo "New coverage: $coverage%. Coverage is improved for configuration 2!" | |
fi | |
################################################################################### | |
- name: Build and Test with Maven - Configuration 3 | |
timeout-minutes: 15 | |
run: | | |
echo "Configuration 3 - Test build with 1 cpu core available for multithreading." | |
export MAVEN_OPTS="-XX:ActiveProcessorCount=1" | |
./mvnw -B verify | |
unset MAVEN_OPTS | |
- name: Get JaCoCo Coverage - Configuration 3 | |
id: coverage_config3 | |
run: | | |
coverage=$(python3 config/coverage.py target/site/jacoco/jacoco.csv) | |
echo "COVERAGE=$coverage" >> $GITHUB_ENV | |
- name: Fail if coverage has not improved for configuration 3. | |
run: | | |
coverage=$COVERAGE | |
threshold=24.46 | |
if (( $(echo "$coverage - $threshold <= 0.1" | bc -l) )); then | |
echo "Coverage is not improved for configuration 3." | |
exit 1 | |
else | |
echo "New coverage: $coverage%. Coverage is improved for configuration 3!" | |
fi | |
################################################################################### | |
- name: Build and Test with Maven - Configuration 4 | |
timeout-minutes: 15 | |
run: | | |
echo "Configuration 4 - Test build with compressed object pointers disabled." | |
export MAVEN_OPTS="-XX:-UseCompressedOops" | |
./mvnw -B verify | |
unset MAVEN_OPTS | |
- name: Get JaCoCo Coverage - Configuration 4 | |
id: coverage_config4 | |
run: | | |
coverage=$(python3 config/coverage.py target/site/jacoco/jacoco.csv) | |
echo "COVERAGE=$coverage" >> $GITHUB_ENV | |
- name: Fail if coverage has not improved for configuration 4. | |
run: | | |
coverage=$COVERAGE | |
threshold=24.46 | |
if (( $(echo "$coverage - $threshold <= 0.1" | bc -l) )); then | |
echo "Coverage is not improved for configuration 4." | |
exit 1 | |
else | |
echo "New coverage: $coverage%. Coverage is improved for configuration 4!" | |
fi | |
################################################################################### | |
- name: Build and Test with Maven - Configuration 5 | |
timeout-minutes: 15 | |
run: | | |
echo "Configuration 5 - Test build with tiered compilation disabled." | |
export MAVEN_OPTS="-XX:-TieredCompilation" | |
./mvnw -B verify | |
unset MAVEN_OPTS | |
- name: Get JaCoCo Coverage - Configuration 5 | |
id: coverage_config5 | |
run: | | |
coverage=$(python3 config/coverage.py target/site/jacoco/jacoco.csv) | |
echo "COVERAGE=$coverage" >> $GITHUB_ENV | |
- name: Fail if coverage has not improved for configuration 5. | |
run: | | |
coverage=$COVERAGE | |
threshold=24.46 | |
if (( $(echo "$coverage - $threshold <= 0.1" | bc -l) )); then | |
echo "Coverage is not improved for configuration 5." | |
exit 1 | |
else | |
echo "New coverage: $coverage%. Coverage is improved for configuration 5!" | |
echo " | |
|>>> | |
| | |
_ _|_ _ | |
|;|_|;|_|;| | |
\\\\. . / | |
\\\\: . / | |
||: | | |
||:. | | |
||: .| | |
||: | \\,/ | |
||: , | /\`\\ | |
||: | | |
||: . | | |
__ ||: , | __ | |
__ |;;| ||: | |;;| __ | |
|;;| |;;| ||:. | |;;| |;;| | |
FORTRESS SECURED! | |
ALL TESTS PASSED! | |
" | |
fi |