name: Tests on: push: branches: - 'main' pull_request: branches: - 'main' jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - 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: eskatos/gradle-command-action@v1 with: gradle-version: '7.1' arguments: build -x test -x ktlintKotlinScriptCheck -x ktlintTestSourceSetCheck -x ktlintMainSourceSetCheck - name: Cleanup Gradle Cache # Remove some files from the Gradle cache, so they aren't cached by GitHub Actions. # Restoring these files from a GitHub Actions cache might cause problems for future builds. run: | rm -f ~/.gradle/caches/modules-2/modules-2.lock rm -f ~/.gradle/caches/modules-2/gc.properties - name: Lint uses: eskatos/gradle-command-action@v1 with: gradle-version: '7.1' arguments: ktlintCheck - name: Test uses: eskatos/gradle-command-action@v1 with: gradle-version: '7.1' arguments: test - name: Coverage uses: eskatos/gradle-command-action@v1 with: gradle-version: '7.1' arguments: jacocoTestReport - name: Cache SonarCloud packages uses: actions/cache@v1 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Push analyse to sonarqube uses: eskatos/gradle-command-action@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} with: gradle-version: '7.1' arguments: sonarqube --info