diff --git a/.github/workflows/maven.yml b/.github/workflows/merge.yaml similarity index 96% rename from .github/workflows/maven.yml rename to .github/workflows/merge.yaml index 2684379..a9e30d0 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/merge.yaml @@ -6,15 +6,12 @@ # separate terms of service, privacy policy, and support # documentation. -name: Java CI with Maven +name: Post merge Java CI with Maven on: push: branches: - main - pull_request: - branches: - - main jobs: build: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml new file mode 100644 index 0000000..e65f3a6 --- /dev/null +++ b/.github/workflows/pr.yaml @@ -0,0 +1,59 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: PR update Java CI with Maven + +on: + pull_request: + branches: + - main + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: maven + + - name: Check coding style + run: mvn -B -ntp checkstyle:check + + - name: Dependency tree + run: mvn -B -ntp dependency:tree + + - name: Dependency checking + run: mvn -B -ntp dependency:analyze-only + + - name: Unit test and coverage + run: mvn -B -ntp test jacoco:report + + - name: Build with Maven + run: mvn -B -ntp -DskipTests=true -Dcheckstyle.skip package + + - name: Code Coverage Report + id: jacoco + uses: madrapps/jacoco-report@v1.3 + with: + paths: ${{ github.workspace }}/target/site/jacoco/jacoco.xml + token: ${{ secrets.GITHUB_TOKEN }} + min-coverage-overall: 80 + min-coverage-changed-files: 90 + + - name: Upload Coverage Report + uses: actions/upload-artifact@v4 + with: + name: jacoco-report + path: target/site/jacoco/ +