name: Tests on: push: branches: [master] pull_request: branches: [master] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '21' - name: Cache Gradle uses: actions/cache@v4 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: arguments: build -x test -x ktlintKotlinScriptCheck -x ktlintTestSourceSetCheck -x ktlintMainSourceSetCheck - name: processResources run: ./gradlew processResources - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: build-artifacts path: build/ test: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '21' - name: Download build artifacts uses: actions/download-artifact@v4 with: name: build-artifacts path: build/ - name: Compose Up uses: gradle/gradle-build-action@v2 with: arguments: composeUp - name: Run tests uses: gradle/gradle-build-action@v2 with: arguments: test lint: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '21' - name: Download build artifacts uses: actions/download-artifact@v4 with: name: build-artifacts path: build/ - name: Run linter uses: gradle/gradle-build-action@v2 with: arguments: ktlintCheck