diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0d4946e4..b2753d77 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,6 +8,16 @@ on: - "2.13" paths-ignore: - "README.md" + - "release-notes/*" + pull_request: + branches: + - master + - "3.0" + - "2.14" + - "2.13" + paths-ignore: + - "README.md" + - "release-notes/*" jobs: build: runs-on: ${{ matrix.os }} @@ -19,27 +29,38 @@ jobs: 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 - - uses: actions/cache@v2.1.6 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + # 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 - 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