name: Android CI on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: set up JDK 11 uses: actions/setup-java@v3 with: java-version: '11' distribution: 'temurin' cache: gradle - name: Cache Gradle and wrapper uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} restore-keys: | ${{ runner.os }}-gradle- - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build with Gradle run: ./gradlew build - name: Run tests run: ./gradlew test - name: Lint check run: ./gradlew ktlintCheck - name: Upload a Build Artifact uses: actions/upload-artifact@v2.2.4 with: # Artifact name name: app.apk # A file, directory or wildcard pattern that describes what to upload path: ./app/build/outputs/apk/debug/app-debug.apk if-no-files-found: error