# This workflow will build a Java project with Gradle # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle name: Tests on: push: branches: - 'master' pull_request: branches: - 'master' jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Setup Gradle uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' - name: Cache Gradle packages uses: actions/cache@v2 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: Build uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: build -x test -x ktlintKotlinScriptCheck -x ktlintTestSourceSetCheck -x ktlintMainSourceSetCheck -x detekt - name: processResources run: gradle processResources - name: processTestResources uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: processResources - uses: actions/upload-artifact@v2 with: name: Build path: build testSql: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - uses: actions/download-artifact@v2 with: name: Build path: build - name: Composer Up uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: testSqlComposeUp - name: TestSql uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: testSql test: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - uses: actions/download-artifact@v2 with: name: Build path: build - name: Composer Up uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: testComposeUp - name: Test uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: test - name: Coverage uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: coveralls env: COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} - name: Cache SonarCloud packages uses: actions/cache@v1 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Test uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: test - name: Build and analyze uses: gradle/gradle-build-action@v2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: gradle-version: '7.4' arguments: sonarqube --info lint: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - uses: actions/download-artifact@v2 with: name: Build path: build - name: Lint uses: gradle/gradle-build-action@v2 with: gradle-version: '7.4' arguments: ktlintCheck