name: gradle-ci on: [ push, pull_request, workflow_dispatch ] jobs: build: runs-on: ubuntu-latest env: GRADLE_OPTS: "-Dorg.gradle.jvmargs=-XX:MaxMetaspaceSize=512m" SONAR_JDK: "17" strategy: matrix: java-version: [ 11, 17, 20 ] steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK ${{ matrix.java-version }} uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: ${{ matrix.java-version }} - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Cache SonarCloud packages if: matrix.java-version == env.SONAR_JDK uses: actions/cache@v3 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Test with Gradle uses: gradle/gradle-build-action@v2 env: BITLY_ACCESS_TOKEN: ${{ secrets.BITLY_ACCESS_TOKEN }} with: arguments: build check --stacktrace --scan - name: SonarCloud if: success() && matrix.java-version == env.SONAR_JDK env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: ./gradlew sonar --info