All Downloads are FREE. Search and download functionalities are using the official Maven repository.

templates..github.workflows.ci-build.yml Maven / Gradle / Ivy

There is a newer version: 4.4.0
Show newest version
name: CI Build

on:
  push:
    branches:
      - main
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
      cancel-in-progress: true
    steps:
      - name: Free Disk Space
        run: |
          sudo rm -rf /usr/local/lib/android
          sudo rm -rf /usr/share/dotnet
      - name: Checkout the repository
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Set up JDK 11 & 17
        uses: actions/setup-java@v3
        with:
          distribution: "temurin"
          java-version: |
            17
            11
          cache: "maven"
      - name: Cache SonarCloud packages
        uses: actions/cache@v3
        with:
          path: ~/.sonar/cache
          key: ${{ runner.os }}-sonar
          restore-keys: ${{ runner.os }}-sonar
      - name: Enable testcontainer reuse
        run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties"
      - name: Run tests and build with Maven
        run: |
          JAVA_HOME=$JAVA_HOME_11_X64 mvn --batch-mode clean verify \
              -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
              -DtrimStackTrace=false
      - name: Publish Test Report
        uses: scacap/action-surefire-report@v1
        if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }}
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
      - name: Sonar analysis
        if: ${{ env.SONAR_TOKEN != null }}
        run: |
          JAVA_HOME=$JAVA_HOME_17_X64 mvn --batch-mode org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
              -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
              -DtrimStackTrace=false \
              -Dsonar.organization=exasol \
              -Dsonar.host.url=https://sonarcloud.io \
              -Dsonar.token=$SONAR_TOKEN
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy