| sudo: false |
| language: java |
| |
| # skip default "install" command |
| install: true |
| |
| before_cache: |
| - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock |
| - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ |
| - rm -rf $HOME/.m2/repository/org/apache/jmeter |
| |
| cache: |
| directories: |
| - $HOME/.gradle/caches/ |
| - $HOME/.gradle/wrapper/ |
| - $HOME/.m2/repository |
| |
| env: |
| global: |
| - SKIP_TAR="-x distTar -x distTarSource" |
| - ORG_GRADLE_PROJECT_checksumFailOn=build_finish |
| - ORG_GRADLE_PROJECT_checksumPrint=true |
| |
| matrix: |
| allow_failures: |
| # j-m-p does not seem to download all the dependencies: https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/issues/187 |
| - name: jmeter-maven-plugin tests |
| include: |
| - name: Tests with OpenJDK 8 + code coverage |
| jdk: openjdk8 |
| script: |
| - xvfb-run ./gradlew build jacocoReport $SKIP_TAR |
| after_success: |
| - bash <(curl -s https://codecov.io/bash) |
| - name: Tests with OpenJDK 11 |
| jdk: openjdk11 |
| addons: |
| apt: |
| packages: |
| - language-pack-fr |
| env: |
| - TZ=Pacific/Chatham # flips between +12:45 and +13:45 |
| - LANG=fr_FR.UTF-8 |
| - LC_ALL=fr_FR.UTF-8 |
| script: |
| # This job verifies headless mode to ensure Apache JMeter is workable in headless as well |
| # Spotless and Checksyle are skipped here to save some time. They are verified anyway in Java 8 and Java 13 builds, so skipping them for Java 11 does not harm |
| - ./gradlew build -Djava.awt.headless=true -Duser.language=fr -Duser.country=FR -PskipCheckstyle -PskipSpotless $SKIP_TAR |
| # Java 12 is not here because it has been superceeded by Java 13 |
| # Tests with Java 12 do not surface much new, so Java 11 (LTS) and Java 13 (non-LTS) are enough for "post Java 9" testing |
| - name: Tests with OpenJDK 13 |
| jdk: openjdk13 |
| addons: |
| apt: |
| packages: |
| - language-pack-fr |
| env: |
| - TZ=America/New_York # flips between −05:00 and −04:00 |
| - LANG=fr_FR.UTF-8 |
| - LC_ALL=fr_FR.UTF-8 |
| script: |
| # Spotless, Checksyle, and JaCoCo are verified here to ensure they all work with the latest supported Java |
| - xvfb-run ./gradlew build jacocoReport -Duser.language=fr -Duser.country=FR $SKIP_TAR |
| - name: jmeter-maven-plugin tests |
| jdk: openjdk8 |
| script: |
| - ./gradlew -PskipJavadoc publishToMavenLocal -Pjmeter.version=42.0 -PchecksumIgnore |
| - cd .. |
| - git clone --depth 100 https://github.com/jmeter-maven-plugin/jmeter-maven-plugin.git |
| - cd jmeter-maven-plugin |
| - mvn verify -Djmeter.version=42.0-SNAPSHOT |