Develop #84
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR | |
on: [ pull_request ] | |
jobs: | |
detekt: | |
runs-on: ubuntu-latest | |
name: Detekt | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: 17 | |
cache: gradle | |
- name: detekt | |
run: | | |
./gradlew clean detekt | |
- name: Upload Detekt Artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: detektArtifacts | |
path: build/reports/detekt | |
- name: Danger | |
uses: danger/kotlin@1.3.1 | |
if: always() | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
dangerfile: ".danger/pr_detekt.df.kts" | |
args: "--failOnErrors --no-publish-check" | |
assemble-debug-apk: | |
needs: [ detekt ] | |
name: Assemble Debug APK | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: 17 | |
cache: gradle | |
- name: Assemble Debug APK | |
run: bash ./gradlew sample:assembleDebug | |
- name: Upload app APK | |
uses: actions/upload-artifact@v4 | |
with: | |
name: debug-apk | |
path: sample/build/outputs/apk/debug/sample-debug.apk | |
assemble-debug-android-test-apk: | |
needs: [ detekt ] | |
name: Assemble Instrumental APK | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: 17 | |
cache: gradle | |
- name: Assemble Instrumental APK | |
run: bash ./gradlew sample:assembleDebugAndroidTest | |
- name: Upload app APK | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-apk | |
path: sample/build/outputs/apk/androidTest/debug/sample-debug-androidTest.apk | |
firebase-lab-test: | |
needs: [ assemble-debug-apk, assemble-debug-android-test-apk ] | |
name: Firebase Instrumental API | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
api: [ 26, 27, 28, 29, 30, 31, 32, 33 ] | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Download Debug APK | |
uses: actions/download-artifact@v4 | |
with: | |
name: debug-apk | |
- name: Download Test APK | |
uses: actions/download-artifact@v4 | |
with: | |
name: test-apk | |
- name: Run tests on Firebase Test Lab for API ${{ matrix.api }} | |
uses: vacxe/firebase-test-lab-action@0.0.6 | |
with: | |
service-account: ${{ secrets.FIREBASE_TESTLAB_JSON }} | |
app: sample-debug.apk | |
test: sample-debug-androidTest.apk | |
device-id: MediumPhone.arm | |
os-version-id: ${{ matrix.api }} | |
num-flaky-test-attempts: 4 |