From fa0646181b575df6e496f1e11872f7e017b22a55 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sat, 14 May 2022 20:02:24 -0700 Subject: [PATCH] Update CI --- .github/workflows/main.yml | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9491cd889..169fd504f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,35 +24,43 @@ jobs: strategy: fail-fast: false matrix: - java_version: ['8', '11', '14'] + java_version: ['8', '11', '17'] os: ['ubuntu-20.04'] env: JAVA_OPTS: "-XX:+TieredCompilation -XX:TieredStopAtLevel=1" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up JDK - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: - distribution: "adopt" + distribution: 'temurin' java-version: ${{ matrix.java_version }} + cache: 'maven' server-id: sonatype-nexus-snapshots server-username: CI_DEPLOY_USERNAME server-password: CI_DEPLOY_PASSWORD # See https://github.com/actions/setup-java/blob/v2/docs/advanced-usage.md#Publishing-using-Apache-Maven # gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import # gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - - uses: actions/cache@v2.1.6 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - name: Build - run: ./mvnw -V -B -ff -ntp verify + run: ./mvnw -B -q -ff -ntp verify + - name: Extract project Maven version + id: projectVersion + run: echo ::set-output name=version::$(./mvnw org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -DforceStdout -Dexpression=project.version -q) - name: Deploy snapshot - if: github.event_name != 'pull_request' && matrix.java_version == '8' + if: github.event_name != 'pull_request' && matrix.java_version == '8' && endsWith(steps.projectVersion.outputs.version, '-SNAPSHOT') env: CI_DEPLOY_USERNAME: ${{ secrets.CI_DEPLOY_USERNAME }} CI_DEPLOY_PASSWORD: ${{ secrets.CI_DEPLOY_PASSWORD }} # MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} - run: ./mvnw -V -B -ff -DskipTests -ntp source:jar deploy + run: ./mvnw -B -q -ff -DskipTests -ntp source:jar deploy + - name: Generate code coverage + if: github.event_name != 'pull_request' && matrix.java_version == '8' + run: ./mvnw -B -q -ff -ntp test + - name: Publish code coverage + if: github.event_name != 'pull_request' && matrix.java_version == '8' + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + file: ./target/site/jacoco/jacoco.xml + flags: unittests