Merge pull request #258 from nanotaboada/dependabot/github_actions/do… #559
This file contains hidden or 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
| # Building and testing Java with Maven | |
| # https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven | |
| name: Java CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| env: | |
| JAVA_VERSION: 25 | |
| jobs: | |
| verify: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6.0.2 | |
| - name: Set up OpenJDK ${{ env.JAVA_VERSION }} | |
| uses: actions/setup-java@v5.2.0 | |
| with: | |
| java-version: ${{ env.JAVA_VERSION }} | |
| distribution: "temurin" | |
| cache: "maven" | |
| - name: Compile and verify with Maven | |
| run: mvn verify --file pom.xml | |
| - name: Upload JaCoCo coverage report artifact | |
| uses: actions/upload-artifact@v6.0.0 | |
| with: | |
| name: jacoco.xml | |
| path: ./target/site/jacoco/jacoco.xml | |
| coverage: | |
| needs: verify | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| strategy: | |
| matrix: | |
| service: [codecov, codacy] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6.0.2 | |
| - name: Download JaCoCo coverage report artifact | |
| uses: actions/download-artifact@v7.0.0 | |
| with: | |
| name: jacoco.xml | |
| - name: Upload JaCoCo coverage report to Codecov | |
| if: matrix.service == 'codecov' | |
| uses: codecov/codecov-action@v5.5.2 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: jacoco.xml | |
| - name: Upload JaCoCo coverage report to Codacy | |
| if: matrix.service == 'codacy' | |
| uses: codacy/codacy-coverage-reporter-action@v1.3.0 | |
| with: | |
| project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} | |
| force-coverage-parser: jacoco -r jacoco.xml | |
| container: | |
| needs: coverage | |
| runs-on: ubuntu-latest | |
| if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }} | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6.0.2 | |
| - name: Log in to GitHub Container Registry | |
| uses: docker/login-action@v3.7.0 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3.12.0 | |
| - name: Build and push Docker image to GitHub Container Registry | |
| uses: docker/build-push-action@v6.18.0 | |
| with: | |
| context: . | |
| push: true | |
| platforms: linux/amd64 | |
| provenance: false | |
| cache-from: type=gha | |
| cache-to: type=gha,mode=max | |
| tags: | | |
| ghcr.io/${{ github.repository }}:latest | |
| ghcr.io/${{ github.repository }}:sha-${{ github.sha }} |