diff --git a/.github/workflows/apk_debug.yml b/.github/workflows/apk_debug.yml index 30512534a..a26fb1dc5 100644 --- a/.github/workflows/apk_debug.yml +++ b/.github/workflows/apk_debug.yml @@ -11,18 +11,21 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: ./.github/actions/checkout_submodules - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' + cache: 'gradle' - name: Build debug APK - run: ./gradlew assembleDebug + run: ./gradlew assembleDebug --no-daemon - name: Upload APK uses: actions/upload-artifact@v1 diff --git a/.github/workflows/apk_main.yml b/.github/workflows/apk_main.yml index ad66c23b8..ea986ceb3 100644 --- a/.github/workflows/apk_main.yml +++ b/.github/workflows/apk_main.yml @@ -10,20 +10,24 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: ./.github/actions/checkout_submodules - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' + cache: 'gradle' - name: Build release APK run: | echo $KEYSTORE_FILE | base64 -d > app/build.keystore ./gradlew assembleRelease \ + --no-daemon \ -Pandroid.injected.signing.store.file=$(pwd)/app/build.keystore \ -Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD \ -Pandroid.injected.signing.key.alias=$KEY_ALIAS \ diff --git a/.github/workflows/apk_pr.yml b/.github/workflows/apk_pr.yml index cbae6b8a4..5c33b05d3 100644 --- a/.github/workflows/apk_pr.yml +++ b/.github/workflows/apk_pr.yml @@ -11,22 +11,25 @@ jobs: name: apk_build steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: + fetch-depth: 0 ref: refs/pull/${{github.event.pull_request.number}}/merge - uses: ./.github/actions/checkout_submodules - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' + cache: 'gradle' - name: Build release APK run: | echo $KEYSTORE_FILE | base64 -d > app/build.keystore ./gradlew assembleRelease \ + --no-daemon \ -Pandroid.injected.signing.store.file=$(pwd)/app/build.keystore \ -Pandroid.injected.signing.store.password=$KEYSTORE_PASSWORD \ -Pandroid.injected.signing.key.alias=$KEY_ALIAS \ diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 53cbdfa83..b5a22278d 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -16,20 +16,14 @@ jobs: - uses: ./.github/actions/checkout_submodules - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - - # TODO: Without this step, the Gradle check task fails with the following error: - # Execution failed for task ':common:verifyDebugDatabaseMigration'. - # > A failure occurred while executing app.cash.sqldelight.gradle.VerifyMigrationTask$VerifyMigrationAction - # > No suitable driver found for jdbc:sqlite: - - name: Run verifyDebugDatabase - run: bash ./gradlew verifyDebugDatabaseMigration + cache: 'gradle' - name: Run check - run: bash ./gradlew check + run: ./gradlew check --no-daemon - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 diff --git a/app/build.gradle b/app/build.gradle index 58b6157c8..dfdc0c5e6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -31,7 +31,13 @@ ktlint { // Generate a version code from git commit count static def generateVersionCode() { - return "git rev-list HEAD --count".execute().text.trim().toInteger() + // Unix + def result = "git rev-list HEAD --count".execute().text.trim() + // Windows + if (result.empty) result = "PowerShell -Command git rev-list HEAD --count".execute().text.trim() + if (result.empty) throw new RuntimeException("Could not generate versioncode: ${result.text}") + println("Generated the following version code: " + result.toInteger()) + return result.toInteger() } @@ -46,7 +52,6 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } - signingConfigs { release { keyAlias "trustchain"