Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 3e2bacdb authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Update dependencies; use large runners for CI Android tests

parent a6e9dc4b
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -14,11 +14,10 @@ jobs:
        with:
          distribution: 'temurin'
          java-version: 11
          cache: 'gradle'
      - uses: gradle/wrapper-validation-action@v1
      - uses: gradle/gradle-build-action@v2

      - name: Build KDoc
        run: ./gradlew dokkaHtml
        run: ./gradlew --no-daemon dokkaHtml
      - name: Publish KDoc
        if: success()
        uses: crazy-max/ghaction-github-pages@v2.5.0
+43 −20
Original line number Diff line number Diff line
@@ -12,8 +12,7 @@ jobs:
        with:
          distribution: 'temurin'
          java-version: 11
          cache: 'gradle'
      - uses: gradle/wrapper-validation-action@v1
      - uses: gradle/gradle-build-action@v2

      - name: Check
        run: ./gradlew check
@@ -27,35 +26,59 @@ jobs:

  test_on_emulator:
    name: Tests with emulator
    runs-on: privileged
    container:
      image: ghcr.io/bitfireat/docker-android-ci:main
      options: --privileged
      env:
        ANDROID_HOME: /sdk
        ANDROID_AVD_HOME: /root/.android/avd
    runs-on: ubuntu-latest-4-cores
    strategy:
      matrix:
        api-level: [ 31 ]
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: true
      - uses: gradle/wrapper-validation-action@v1
      - uses: actions/setup-java@v2
        with:
          distribution: 'temurin'
          java-version: 11
      - uses: gradle/gradle-build-action@v2

      - name: Enable KVM group perms
        run: |
          echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
          sudo udevadm control --reload-rules
          sudo udevadm trigger --name-match=kvm

      - name: Cache gradle dependencies
        uses: actions/cache@v2
      - name: Cache AVD and APKs
        uses: actions/cache@v3
        id: avd-cache
        with:
          key: ${{ runner.os }}-1
          path: |
            ~/.gradle/caches
            ~/.gradle/wrapper
            ~/.android/avd/*
            ~/.android/adb*
          key: avd-${{ matrix.api-level }}

      - name: Create AVD and generate snapshot for caching
        if: steps.avd-cache.outputs.cache-hit != 'true'
        uses: reactivecircus/android-emulator-runner@v2
        with:
          api-level: ${{ matrix.api-level }}
          arch: x86_64
          force-avd-creation: false
          emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
          disable-animations: false
          script: echo "Generated AVD snapshot for caching."

      - name: Run tests
        uses: reactivecircus/android-emulator-runner@v2
        with:
          api-level: ${{ matrix.api-level }}
          arch: x86_64
          force-avd-creation: false
          emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
          disable-animations: true
          script: ./gradlew --no-daemon connectedCheck

      - name: Start emulator
        run: start-emulator.sh
      - name: Run connected tests
        run: ./gradlew connectedCheck
      - name: Archive results
        uses: actions/upload-artifact@v2
        with:
          name: test-results
          path: |
            build/reports
+9 −9
Original line number Diff line number Diff line
buildscript {
    ext.versions = [
        kotlin: '1.7.20',
        dokka: '1.7.20',
        kotlin: '1.8.20',
        dokka: '1.8.10',
        // latest Apache Commons versions that don't require Java 8 (Android 7)
        commonsIO: '2.6',
        commonsText: '1.3'
@@ -13,7 +13,7 @@ buildscript {
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.1'
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}"
        classpath "org.jetbrains.dokka:dokka-gradle-plugin:${versions.dokka}"
    }
@@ -30,7 +30,7 @@ apply plugin: 'org.jetbrains.dokka'

android {
    compileSdkVersion 33
    buildToolsVersion '33.0.0'
    buildToolsVersion '33.0.2'

    defaultConfig {
        minSdkVersion 19        // Android 4.4
@@ -65,23 +65,23 @@ android {
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}"
    implementation "org.jetbrains.kotlin:kotlin-stdlib:${versions.kotlin}"

    implementation 'androidx.annotation:annotation:1.5.0'
    implementation 'androidx.annotation:annotation:1.6.0'
    // noinspection GradleDependency
    implementation "commons-io:commons-io:${versions.commonsIO}"
    // noinspection GradleDependency
    implementation "org.apache.commons:commons-text:${versions.commonsText}"

    // ez-vcard to parse/generate vCards
    api('com.googlecode.ez-vcard:ez-vcard:0.11.3') {
    api('com.googlecode.ez-vcard:ez-vcard:0.11.3') {        // 0.12.0 requires Java 8, may imply minSdkVersion 26
        // hCard functionality not needed
        exclude group: 'org.jsoup'
        exclude group: 'org.freemarker'
    }

    androidTestImplementation 'androidx.test:runner:1.4.0'
    androidTestImplementation 'androidx.test:rules:1.4.0'
    androidTestImplementation 'androidx.test:runner:1.5.2'
    androidTestImplementation 'androidx.test:rules:1.5.0'

    testImplementation 'junit:junit:4.13.2'
}
+1 −1
Original line number Diff line number Diff line
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists