name: Tests on: push: branches: [master] pull_request: branches: [master] jobs: build-test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '21' - name: Cache Gradle dependencies uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | gradle-${{ runner.os }}- - name: Grant execute permission to Gradle wrapper run: chmod +x gradlew - name: Lint run: ./gradlew ktlintCheck - name: Start CI Docker Compose services run: ./gradlew composeUp -Pci - name: Test run: ./gradlew test --no-daemon - name: Upload test reports if: always() uses: actions/upload-artifact@v4 with: name: test-results path: build/reports/tests/test