From 24362c2e31e2e403e4b8dc5ec190a3217868fa69 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 16:26:53 +0200 Subject: [PATCH 01/69] Setup GCloud SDK --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index d1407a18..e4ba46e1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,6 +13,9 @@ jobs: - run: name: Get Dependencies command: ./gradlew androidDependencies + - gcloud: + name: Setup GCloud SDK + command: curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xvz - -C ~/.gradle - save_cache: paths: - ~/.gradle From 0a6fedbc4a23378421b8202961efa96011a4a3f4 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 16:27:55 +0200 Subject: [PATCH 02/69] Setup GCloud SDK 2 --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e4ba46e1..b4ae8539 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,7 +13,7 @@ jobs: - run: name: Get Dependencies command: ./gradlew androidDependencies - - gcloud: + - run: name: Setup GCloud SDK command: curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xvz - -C ~/.gradle - save_cache: From d2357e71b307398a39de946f80e82054510853f8 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 16:31:03 +0200 Subject: [PATCH 03/69] Setup GCloud SDK 3 --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b4ae8539..e4df8298 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,13 +13,13 @@ jobs: - run: name: Get Dependencies command: ./gradlew androidDependencies - - run: - name: Setup GCloud SDK - command: curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xvz - -C ~/.gradle - save_cache: paths: - ~/.gradle key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} + - run: + name: Setup GCloud SDK + command: curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xvz -C ~/.gradle - run: name: Run Tests command: ./gradlew check From d2c95c87252db044d8a3e05f914aecb84d2b56b9 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 16:33:43 +0200 Subject: [PATCH 04/69] Check GCloud config --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index e4df8298..13d010cd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -20,6 +20,9 @@ jobs: - run: name: Setup GCloud SDK command: curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xvz -C ~/.gradle + - run: + name: Check GCloud SDK + command: ~/.gradle/google-cloud-sdk/bin/gcloud --version - run: name: Run Tests command: ./gradlew check From ba634cceab7d8643ee9751d4865d51f0184d34fc Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 16:39:55 +0200 Subject: [PATCH 05/69] Setup GCloud on ~gcloud/google-cloud-sdk/bin/gcloud --- .circleci/config.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 13d010cd..288b866a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,10 +19,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Setup GCloud SDK - command: curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xvz -C ~/.gradle - - run: - name: Check GCloud SDK - command: ~/.gradle/google-cloud-sdk/bin/gcloud --version + command: curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud - run: name: Run Tests command: ./gradlew check From aff562ef4dff2a04ae46c835ae067bc645c46cc5 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 17:33:15 +0200 Subject: [PATCH 06/69] Run Firebase test lab as part of check --- app/build.gradle | 2 ++ app/firebase-test-lab.gradle.kts | 40 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 app/firebase-test-lab.gradle.kts diff --git a/app/build.gradle b/app/build.gradle index 59a4d502..ec451f63 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -146,6 +146,8 @@ moduleGraphAssert { } apply plugin: 'com.google.gms.google-services' + +apply from: 'firebase-test-lab.gradle.kts' repositories { mavenCentral() } diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts new file mode 100644 index 00000000..35f299ed --- /dev/null +++ b/app/firebase-test-lab.gradle.kts @@ -0,0 +1,40 @@ +project.afterEvaluate { + val gcloud = "~/gcloud/google-cloud-sdk/bin/gcloud" + val setupGCloudProject = tasks.register("setupGCloud", Exec::class) { + commandLine = "$gcloud config set project github-client-25b47".split(' ') + } + + val setupGCloudAccount = tasks.register("setupGCloud", Exec::class) { + val credentialsPath = createCredentialsFile() + commandLine = "$gcloud auth activate-service-account --key-file $credentialsPath".split(' ') + + dependsOn(setupGCloudProject) + } + + val firebaseTestsTask = tasks.register("runInstrumentedTestsOnFirebase", Exec::class) { + val appApk = "${project.buildDir}/outputs/apk/debug/app-debug.apk" + val testApk = "${project.buildDir}/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk" + val device = "model=Pixel2,version=29,locale=en,orientation=portrait" + + commandLine = + ("$gcloud " + + "firebase test android run " + + "--app $appApk " + + "--test $testApk " + + "--device $device " + + "--no-performance-metrics") + .split(' ') + dependsOn(project.tasks.named("assembleDebugAndroidTest")) + dependsOn(setupGCloudAccount) + } + + project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } +} + +fun Project.createCredentialsFile(): String { + val credentialsPath = "$projectDir/credentials.json" + val credentials: String = System.getenv("GCLOUD_CREDENTIALS") + File(credentialsPath).writeText(credentials) + return credentialsPath +} + From a5ffc8d6d27693707df8c48fbc9c5ea5ec4819f5 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 17:35:34 +0200 Subject: [PATCH 07/69] Setup proper names --- app/firebase-test-lab.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts index 35f299ed..a825fc58 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle.kts @@ -1,10 +1,10 @@ project.afterEvaluate { val gcloud = "~/gcloud/google-cloud-sdk/bin/gcloud" - val setupGCloudProject = tasks.register("setupGCloud", Exec::class) { + val setupGCloudProject = tasks.register("setupGCloudProject", Exec::class) { commandLine = "$gcloud config set project github-client-25b47".split(' ') } - val setupGCloudAccount = tasks.register("setupGCloud", Exec::class) { + val setupGCloudAccount = tasks.register("setupGCloudAccount", Exec::class) { val credentialsPath = createCredentialsFile() commandLine = "$gcloud auth activate-service-account --key-file $credentialsPath".split(' ') From 9b48229a53ae1c7e969333c229f0f9cf32c09413 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 17:40:05 +0200 Subject: [PATCH 08/69] Make dir for gcloud --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 288b866a..0d4b5446 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Setup GCloud SDK - command: curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud + command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud - run: name: Run Tests command: ./gradlew check From 00035ee43033cb57b484754f33fa3ab725d3fc55 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 17:50:28 +0200 Subject: [PATCH 09/69] See the stacktrace fo gcloud --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0d4b5446..0c5f310d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,7 +22,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud - run: name: Run Tests - command: ./gradlew check + command: ./gradlew check --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From 5de107e5ba0ddd646b3061f48e0a7d4af0e7ac5a Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 18:02:33 +0200 Subject: [PATCH 10/69] Trying to add gcloud to path --- .circleci/config.yml | 2 +- app/firebase-test-lab.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0c5f310d..a602e90c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Setup GCloud SDK - command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud + command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests command: ./gradlew check --stacktrace diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts index a825fc58..9a1fcfd0 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle.kts @@ -1,5 +1,5 @@ project.afterEvaluate { - val gcloud = "~/gcloud/google-cloud-sdk/bin/gcloud" + val gcloud = "gcloud" val setupGCloudProject = tasks.register("setupGCloudProject", Exec::class) { commandLine = "$gcloud config set project github-client-25b47".split(' ') } From c6983e667f093e8e68cadeeadc33b5ab546a3771 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 18:17:01 +0200 Subject: [PATCH 11/69] Update Kotlin and AGP --- app/firebase-test-lab.gradle.kts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts index 9a1fcfd0..41134ec1 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle.kts @@ -1,12 +1,11 @@ project.afterEvaluate { - val gcloud = "gcloud" val setupGCloudProject = tasks.register("setupGCloudProject", Exec::class) { - commandLine = "$gcloud config set project github-client-25b47".split(' ') + commandLine = "gcloud config set project github-client-25b47".split(' ') } val setupGCloudAccount = tasks.register("setupGCloudAccount", Exec::class) { val credentialsPath = createCredentialsFile() - commandLine = "$gcloud auth activate-service-account --key-file $credentialsPath".split(' ') + commandLine = "gcloud auth activate-service-account --key-file $credentialsPath".split(' ') dependsOn(setupGCloudProject) } @@ -17,7 +16,7 @@ project.afterEvaluate { val device = "model=Pixel2,version=29,locale=en,orientation=portrait" commandLine = - ("$gcloud " + + ("gcloud " + "firebase test android run " + "--app $appApk " + "--test $testApk " + @@ -33,8 +32,10 @@ project.afterEvaluate { fun Project.createCredentialsFile(): String { val credentialsPath = "$projectDir/credentials.json" - val credentials: String = System.getenv("GCLOUD_CREDENTIALS") - File(credentialsPath).writeText(credentials) + val credentials: String? = System.getenv("GCLOUD_CREDENTIALS") + if (credentials != null) { + File(credentialsPath).writeText(credentials) + } return credentialsPath } From 957e9674357f6058a092dede492888971bf34f5f Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 18:26:46 +0200 Subject: [PATCH 12/69] Adding Gradle options to fix kotlin breaking --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index a602e90c..9059776c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,6 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m + GRADLE_OPTS: -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: From 0a62577e8fa4a3ac2bca46fd6026f3d672ba805a Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 18:46:10 +0200 Subject: [PATCH 13/69] Run only tests and instrumented tests on CI --- .circleci/config.yml | 3 +-- app/firebase-test-lab.gradle.kts | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9059776c..9bb5bc50 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,6 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: @@ -23,7 +22,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew check --stacktrace + command: ./gradlew test runInstrumentedTestsOnFirebase --stacktrace - store_artifacts: path: app/build/reports destination: app/reports diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts index 41134ec1..1116625a 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle.kts @@ -24,6 +24,7 @@ project.afterEvaluate { "--no-performance-metrics") .split(' ') dependsOn(project.tasks.named("assembleDebugAndroidTest")) + dependsOn(project.tasks.named("assembleDebug")) dependsOn(setupGCloudAccount) } From 25ee6b15195d08ee0d1ffc2a37694f0f14b14c43 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 18:49:52 +0200 Subject: [PATCH 14/69] Try Gradle ops to make the hell thing pass --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9bb5bc50..aadff717 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,6 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m + GRADLE_OPTS: -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: From fdbce05901fba4a95ba341ef3706d6dceb179ba5 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:02:54 +0200 Subject: [PATCH 15/69] limit gradle memory --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index aadff717..c729253f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false + GRADLE_OPTS: -Xmx2048m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: From 3b82973db1464219cc8b5b754c6cedce60b4da75 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:10:13 +0200 Subject: [PATCH 16/69] Run only instrumented tests --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c729253f..5efe31b1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Xmx2048m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false + GRADLE_OPTS: -Xmx3072m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: @@ -23,7 +23,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew test runInstrumentedTestsOnFirebase --stacktrace + command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From 0a5805957e21a3b14959a1f4a062ed0acd16a2fa Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:11:22 +0200 Subject: [PATCH 17/69] Run only instrumented tests --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5efe31b1..10b34869 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,6 +4,7 @@ jobs: working_directory: ~/code docker: - image: circleci/android:api-29 + resource_class: large environment: JVM_OPTS: -Xmx4096m GRADLE_OPTS: -Xmx3072m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false From 3ba56e9a890f2375ee95aa329326da176548a5b7 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:12:23 +0200 Subject: [PATCH 18/69] Different resource --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 10b34869..acc3f612 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ jobs: working_directory: ~/code docker: - image: circleci/android:api-29 - resource_class: large + resource_class: medium+ environment: JVM_OPTS: -Xmx4096m GRADLE_OPTS: -Xmx3072m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false From 1d042195c05298f0dbd3c47e0ea27f5c0a199644 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:16:23 +0200 Subject: [PATCH 19/69] Remove arguments --- .circleci/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index acc3f612..06cc05f7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,10 +4,8 @@ jobs: working_directory: ~/code docker: - image: circleci/android:api-29 - resource_class: medium+ environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Xmx3072m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: From 4be358c7636f2584acca5ba2d39da025b3a37c25 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:20:57 +0200 Subject: [PATCH 20/69] Fix destination dir for app file --- app/firebase-test-lab.gradle.kts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts index 1116625a..fbbb26e5 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle.kts @@ -12,7 +12,7 @@ project.afterEvaluate { val firebaseTestsTask = tasks.register("runInstrumentedTestsOnFirebase", Exec::class) { val appApk = "${project.buildDir}/outputs/apk/debug/app-debug.apk" - val testApk = "${project.buildDir}/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk" + val testApk = "${project.buildDir}/outputs/apk/androidTest/debug/app-debug-androidTest.apk" val device = "model=Pixel2,version=29,locale=en,orientation=portrait" commandLine = @@ -23,6 +23,7 @@ project.afterEvaluate { "--device $device " + "--no-performance-metrics") .split(' ') + dependsOn(project.tasks.named("assembleDebugAndroidTest")) dependsOn(project.tasks.named("assembleDebug")) dependsOn(setupGCloudAccount) From c18ea8a7ec2b81a7ee59e6340bfb8c50230fcfa2 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:27:24 +0200 Subject: [PATCH 21/69] Add back options to Gradel Daemon --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 06cc05f7..4a032cee 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,6 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m + GRADLE_OPTS: -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: From 49892b83476fb836400ef4636fc4b28fa40de670 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:39:38 +0200 Subject: [PATCH 22/69] Add back options to Gradel Daemon --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4a032cee..5efe31b1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false + GRADLE_OPTS: -Xmx3072m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: From bc2d4e0c71b65d64fa804feadb08c0ee2ba6edc2 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:46:06 +0200 Subject: [PATCH 23/69] Other options wth Gradle stuff --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5efe31b1..715ea059 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Xmx3072m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false + GRADLE_OPTS: -Xmx3072m --stacktrace steps: - checkout - restore_cache: @@ -23,7 +23,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace + command: ./gradlew runInstrumentedTestsOnFirebase - store_artifacts: path: app/build/reports destination: app/reports From 03237cda78a7f07cbf128c7746039af823a060dc Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:58:19 +0200 Subject: [PATCH 24/69] Fix stacktrace param --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 715ea059..95f4b2d7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Xmx3072m --stacktrace + GRADLE_OPTS: -Xmx3072m steps: - checkout - restore_cache: @@ -23,7 +23,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew runInstrumentedTestsOnFirebase + command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From efe5bf1f18cc13cffb337f14d6d2d48ec8ef2bf2 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 19:59:38 +0200 Subject: [PATCH 25/69] Try with check again --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 95f4b2d7..22e84f02 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,7 +23,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace + command: ./gradlew check --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From 1c27b683dcb8587be9568a32e01501ad86d5c12f Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 20:05:00 +0200 Subject: [PATCH 26/69] Try with check again --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 22e84f02..5efe31b1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Xmx3072m + GRADLE_OPTS: -Xmx3072m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: @@ -23,7 +23,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew check --stacktrace + command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From ecdd89f981f608143865b7d9688e7a38a0dd1b2b Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 22:26:19 +0200 Subject: [PATCH 27/69] No Daemon --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5efe31b1..c0386b22 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,7 +13,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Get Dependencies - command: ./gradlew androidDependencies + command: ./gradlew androidDependencies --no-daemon - save_cache: paths: - ~/.gradle @@ -23,7 +23,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace + command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon - store_artifacts: path: app/build/reports destination: app/reports From ab5e48041644f3ff461b17afe20403dfe15ff4f2 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 22:45:27 +0200 Subject: [PATCH 28/69] Try check again --- .circleci/config.yml | 2 +- gradle.properties | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c0386b22..51d90b96 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,7 +23,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon + command: ./gradlew check --stacktrace --no-daemon - store_artifacts: path: app/build/reports destination: app/reports diff --git a/gradle.properties b/gradle.properties index 48251c9f..1316e095 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,6 +5,7 @@ org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true android.enableJetifier=true +kapt.include.compile.classpath=false kapt.incremental.apt=true kapt.use.worker.api=true org.gradle.caching=true From 1474c6870a2b589706aa5e5c75342060d595ecfb Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sat, 9 May 2020 22:58:14 +0200 Subject: [PATCH 29/69] Try check again --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 51d90b96..84b3f483 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -38,6 +38,8 @@ jobs: destination: feature/push/reports - store_test_results: path: app/build/test-results + - store_test_results: + path: core-android/build/test-results - store_test_results: path: core/build/test-results - store_test_results: From 2278277b244b280ed3e71f4f3c63ea46f6a8f318 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:02:05 +0200 Subject: [PATCH 30/69] Another attempt --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 84b3f483..85604abb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,6 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Xmx3072m -Dkotlin.compiler.execution.strategy=in-process -Dkotlin.incremental=false steps: - checkout - restore_cache: From 2afdb66335b6c8dacdde85a12703cdbe7e1103f1 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:06:44 +0200 Subject: [PATCH 31/69] Another attempt --- app/firebase-test-lab.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts index fbbb26e5..49a8f8fa 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle.kts @@ -29,7 +29,7 @@ project.afterEvaluate { dependsOn(setupGCloudAccount) } - project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } +// project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } } fun Project.createCredentialsFile(): String { From e6a51fc6bbbfa51c684a9c0b9de07f4c693797c3 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:12:44 +0200 Subject: [PATCH 32/69] Run Gcloud after all the things --- .circleci/config.yml | 2 +- app/firebase-test-lab.gradle.kts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 85604abb..18a5a97b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Setup GCloud SDK - command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version + command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud - run: name: Run Tests command: ./gradlew check --stacktrace --no-daemon diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts index 49a8f8fa..f04a416b 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle.kts @@ -1,6 +1,7 @@ project.afterEvaluate { val setupGCloudProject = tasks.register("setupGCloudProject", Exec::class) { commandLine = "gcloud config set project github-client-25b47".split(' ') + dependsOn(project.tasks.named("assembleDebugAndroidTest")) } val setupGCloudAccount = tasks.register("setupGCloudAccount", Exec::class) { @@ -29,7 +30,7 @@ project.afterEvaluate { dependsOn(setupGCloudAccount) } -// project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } + project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } } fun Project.createCredentialsFile(): String { From 99e8144ef2c23783e79739c24d3f6f3eff681a1b Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:14:40 +0200 Subject: [PATCH 33/69] Try with daemon --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 18a5a97b..56863ab1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,7 +12,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Get Dependencies - command: ./gradlew androidDependencies --no-daemon + command: ./gradlew androidDependencies - save_cache: paths: - ~/.gradle @@ -22,7 +22,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud - run: name: Run Tests - command: ./gradlew check --stacktrace --no-daemon + command: ./gradlew check --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From 2b196d46f27a64cfc41b6a8f7d27253f97f0b301 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:17:34 +0200 Subject: [PATCH 34/69] Try completely without firebase test lab --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index ec451f63..48e4eeb8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -147,7 +147,7 @@ moduleGraphAssert { apply plugin: 'com.google.gms.google-services' -apply from: 'firebase-test-lab.gradle.kts' +//apply from: 'firebase-test-lab.gradle.kts' repositories { mavenCentral() } From 0259efc43085c3fb9de1f2c5d6bd4883a3c57058 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:21:14 +0200 Subject: [PATCH 35/69] Try to add empty kts --- app/build.gradle | 2 +- app/firebase-test-lab.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 48e4eeb8..ec451f63 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -147,7 +147,7 @@ moduleGraphAssert { apply plugin: 'com.google.gms.google-services' -//apply from: 'firebase-test-lab.gradle.kts' +apply from: 'firebase-test-lab.gradle.kts' repositories { mavenCentral() } diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle.kts index f04a416b..d04a1a12 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle.kts @@ -30,7 +30,7 @@ project.afterEvaluate { dependsOn(setupGCloudAccount) } - project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } +// project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } } fun Project.createCredentialsFile(): String { From 749c97d20dc29d399a41ca608abe20b7b982cc56 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:28:41 +0200 Subject: [PATCH 36/69] Make it a groovy file instead of Kotlin --- app/build.gradle | 2 +- ...ab.gradle.kts => firebase-test-lab.gradle} | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) rename app/{firebase-test-lab.gradle.kts => firebase-test-lab.gradle} (58%) diff --git a/app/build.gradle b/app/build.gradle index ec451f63..4bfd62e6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -147,7 +147,7 @@ moduleGraphAssert { apply plugin: 'com.google.gms.google-services' -apply from: 'firebase-test-lab.gradle.kts' +apply from: 'firebase-test-lab.gradle' repositories { mavenCentral() } diff --git a/app/firebase-test-lab.gradle.kts b/app/firebase-test-lab.gradle similarity index 58% rename from app/firebase-test-lab.gradle.kts rename to app/firebase-test-lab.gradle index d04a1a12..e5ddf9cf 100644 --- a/app/firebase-test-lab.gradle.kts +++ b/app/firebase-test-lab.gradle @@ -1,20 +1,20 @@ project.afterEvaluate { - val setupGCloudProject = tasks.register("setupGCloudProject", Exec::class) { + def setupGCloudProject = tasks.register("setupGCloudProject", Exec.class) { commandLine = "gcloud config set project github-client-25b47".split(' ') dependsOn(project.tasks.named("assembleDebugAndroidTest")) } - val setupGCloudAccount = tasks.register("setupGCloudAccount", Exec::class) { - val credentialsPath = createCredentialsFile() + def setupGCloudAccount = tasks.register("setupGCloudAccount", Exec.class) { + def credentialsPath = createCredentialsFile() commandLine = "gcloud auth activate-service-account --key-file $credentialsPath".split(' ') dependsOn(setupGCloudProject) } - val firebaseTestsTask = tasks.register("runInstrumentedTestsOnFirebase", Exec::class) { - val appApk = "${project.buildDir}/outputs/apk/debug/app-debug.apk" - val testApk = "${project.buildDir}/outputs/apk/androidTest/debug/app-debug-androidTest.apk" - val device = "model=Pixel2,version=29,locale=en,orientation=portrait" + def firebaseTestsTask = tasks.register("runInstrumentedTestsOnFirebase", Exec.class) { + def appApk = "${project.buildDir}/outputs/apk/debug/app-debug.apk" + def testApk = "${project.buildDir}/outputs/apk/androidTest/debug/app-debug-androidTest.apk" + def device = "model=Pixel2,version=29,locale=en,orientation=portrait" commandLine = ("gcloud " + @@ -33,9 +33,9 @@ project.afterEvaluate { // project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } } -fun Project.createCredentialsFile(): String { - val credentialsPath = "$projectDir/credentials.json" - val credentials: String? = System.getenv("GCLOUD_CREDENTIALS") +String createCredentialsFile() { + def credentialsPath = "$projectDir/credentials.json" + def credentials = System.getenv("GCLOUD_CREDENTIALS") if (credentials != null) { File(credentialsPath).writeText(credentials) } From 59f7c17882c48df8984582058a6ec661d51d05ca Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:34:19 +0200 Subject: [PATCH 37/69] Hook Firebase test lab there --- app/firebase-test-lab.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/firebase-test-lab.gradle b/app/firebase-test-lab.gradle index e5ddf9cf..8ad228e1 100644 --- a/app/firebase-test-lab.gradle +++ b/app/firebase-test-lab.gradle @@ -30,7 +30,7 @@ project.afterEvaluate { dependsOn(setupGCloudAccount) } -// project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } + project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } } String createCredentialsFile() { From 38ad6d9524b4d33943038915cbca456c9fd973a2 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:50:08 +0200 Subject: [PATCH 38/69] Adding gcloud to path and writign file properly --- .circleci/config.yml | 2 +- app/firebase-test-lab.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 56863ab1..b02a0a74 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Setup GCloud SDK - command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud + command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests command: ./gradlew check --stacktrace diff --git a/app/firebase-test-lab.gradle b/app/firebase-test-lab.gradle index 8ad228e1..916196db 100644 --- a/app/firebase-test-lab.gradle +++ b/app/firebase-test-lab.gradle @@ -37,7 +37,7 @@ String createCredentialsFile() { def credentialsPath = "$projectDir/credentials.json" def credentials = System.getenv("GCLOUD_CREDENTIALS") if (credentials != null) { - File(credentialsPath).writeText(credentials) + new File(credentialsPath).write(credentials) } return credentialsPath } From 29c6419ddc6ac23d678ee304915087e43973d575 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:53:32 +0200 Subject: [PATCH 39/69] Do not add stuff to path --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b02a0a74..56863ab1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Setup GCloud SDK - command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version + command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud - run: name: Run Tests command: ./gradlew check --stacktrace From 6c04f2ae121524a333e2c92b19d6cfd8278df44c Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:56:21 +0200 Subject: [PATCH 40/69] Remove Firebase test lab task --- app/firebase-test-lab.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/firebase-test-lab.gradle b/app/firebase-test-lab.gradle index 916196db..fa30a712 100644 --- a/app/firebase-test-lab.gradle +++ b/app/firebase-test-lab.gradle @@ -30,7 +30,7 @@ project.afterEvaluate { dependsOn(setupGCloudAccount) } - project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } +// project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } } String createCredentialsFile() { From 93f0b4396448c4806c1012ea05f97853917fd04a Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:57:41 +0200 Subject: [PATCH 41/69] Add gcloud to path --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 56863ab1..b02a0a74 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Setup GCloud SDK - command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud + command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests command: ./gradlew check --stacktrace From 19bcdf296a5957912453777e15f837678c962d3c Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 00:59:58 +0200 Subject: [PATCH 42/69] RUn instrumented tests properly --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b02a0a74..ce6c7e36 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,7 +22,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew check --stacktrace + command: ./gradlew check runInstrumentedTestsOnFirebase --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From a5a4b61a779bad523cdfc8b767494e88370013ed Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:02:36 +0200 Subject: [PATCH 43/69] Try withuot daemon --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ce6c7e36..523a6e15 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,7 +12,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Get Dependencies - command: ./gradlew androidDependencies + command: ./gradlew androidDependencies --no-daemon - save_cache: paths: - ~/.gradle @@ -22,7 +22,7 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew check runInstrumentedTestsOnFirebase --stacktrace + command: ./gradlew check runInstrumentedTestsOnFirebase --stacktrace --no-daemon - store_artifacts: path: app/build/reports destination: app/reports From cea9c88bfd412db2744de48090fe91a7f9af3622 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:03:52 +0200 Subject: [PATCH 44/69] Run test as separate command --- .circleci/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 523a6e15..7535c035 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -22,7 +22,10 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew check runInstrumentedTestsOnFirebase --stacktrace --no-daemon + command: ./gradlew check --stacktrace --no-daemon + - run: + name: Run Tests Firebase + command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon - store_artifacts: path: app/build/reports destination: app/reports From d8c460d7bed5a99b93a6f68f3e7423a987101b19 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:04:15 +0200 Subject: [PATCH 45/69] Now with daemon --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7535c035..7497d13a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,7 +12,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Get Dependencies - command: ./gradlew androidDependencies --no-daemon + command: ./gradlew androidDependencies - save_cache: paths: - ~/.gradle @@ -22,10 +22,10 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew check --stacktrace --no-daemon + command: ./gradlew check --stacktrace - run: name: Run Tests Firebase - command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon + command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From 76b49150265b83209f9031603f4e2b0922bd5b65 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:11:14 +0200 Subject: [PATCH 46/69] Finally without Daemon --- .circleci/config.yml | 6 +++--- app/firebase-test-lab.gradle | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7497d13a..1779c888 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,7 +12,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Get Dependencies - command: ./gradlew androidDependencies + command: ./gradlew androidDependencies --no-daemon - save_cache: paths: - ~/.gradle @@ -22,10 +22,10 @@ jobs: command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version - run: name: Run Tests - command: ./gradlew check --stacktrace + command: ./gradlew check --stacktrace --no-daemon - run: name: Run Tests Firebase - command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace + command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon - store_artifacts: path: app/build/reports destination: app/reports diff --git a/app/firebase-test-lab.gradle b/app/firebase-test-lab.gradle index fa30a712..d71b99e3 100644 --- a/app/firebase-test-lab.gradle +++ b/app/firebase-test-lab.gradle @@ -11,7 +11,7 @@ project.afterEvaluate { dependsOn(setupGCloudProject) } - def firebaseTestsTask = tasks.register("runInstrumentedTestsOnFirebase", Exec.class) { + tasks.register("runInstrumentedTestsOnFirebase", Exec.class) { def appApk = "${project.buildDir}/outputs/apk/debug/app-debug.apk" def testApk = "${project.buildDir}/outputs/apk/androidTest/debug/app-debug-androidTest.apk" def device = "model=Pixel2,version=29,locale=en,orientation=portrait" @@ -29,8 +29,6 @@ project.afterEvaluate { dependsOn(project.tasks.named("assembleDebug")) dependsOn(setupGCloudAccount) } - -// project.tasks.named("check").configure { dependsOn(firebaseTestsTask) } } String createCredentialsFile() { From ba31f0987cdbb5b578a0bdc11fb6e09bc3904a91 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:15:47 +0200 Subject: [PATCH 47/69] Try on real Pixel 4 --- app/firebase-test-lab.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/firebase-test-lab.gradle b/app/firebase-test-lab.gradle index d71b99e3..6e2110b0 100644 --- a/app/firebase-test-lab.gradle +++ b/app/firebase-test-lab.gradle @@ -14,7 +14,7 @@ project.afterEvaluate { tasks.register("runInstrumentedTestsOnFirebase", Exec.class) { def appApk = "${project.buildDir}/outputs/apk/debug/app-debug.apk" def testApk = "${project.buildDir}/outputs/apk/androidTest/debug/app-debug-androidTest.apk" - def device = "model=Pixel2,version=29,locale=en,orientation=portrait" + def device = "model=flame,version=29,locale=en,orientation=portrait" commandLine = ("gcloud " + From 8c52736d9be99838e3b3daee5a415b118b3292fb Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:26:20 +0200 Subject: [PATCH 48/69] Update Readme --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 325ff6b7..01386485 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,5 @@ Experimental architecture app with example usage intended to be a showcase, test - `Navigator` pattern to be able to easily navigate without `Context` - `TopActivityProvider` to avoid having `Context` dependencie everywhere and to be able to have cleaner pure Kotlin interfaces - Uses [LiveData-Testing](https://github.com/jraska/livedata-testing) to test ViewModel. [Article](https://android.jlelse.eu/effective-livedata-and-viewmodel-testing-17f25069fcd4) -- Module Graph generation into Graphviz is implemented together with highlighting longest path in the graph. See [PR #205](https://github.com/jraska/github-client/pull/205} -- Module Graph measurement is used to assert height of dependency graph. See `/buildSrc` and [PR #205](https://github.com/jraska/github-client/pull/204). -Adding features by decoration to all screens implemented. See [PR #189](https://github.com/jraska/github-client/pull/189) +- Example usage of [module graph assertion](https://proandroiddev.com/module-rules-protect-your-build-time-and-architecture-d1194c7cc6bc) - see [here](https://github.com/jraska/github-client/blob/be3b06558118721968547de9237e9b48d1a8833d/app/build.gradle#L141). +- Tests are run on Firebase Test Lab. [See PR](https://github.com/jraska/github-client/pull/233) From 66a7e468b71d0a6b39c1c0517c06ae88946a801a Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:31:33 +0200 Subject: [PATCH 49/69] Set the environment variable later --- .circleci/config.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1779c888..013f58a0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,13 +19,14 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Setup GCloud SDK - command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && gcloud --version + command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud - run: name: Run Tests command: ./gradlew check --stacktrace --no-daemon - run: name: Run Tests Firebase - command: ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon + command: echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && + ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon - store_artifacts: path: app/build/reports destination: app/reports From daa5b8b9d3116b40a796a763a9a74df317775862 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:37:32 +0200 Subject: [PATCH 50/69] Try without cache --- core/src/main/java/com/jraska/github/client/Config.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/src/main/java/com/jraska/github/client/Config.kt b/core/src/main/java/com/jraska/github/client/Config.kt index 34ae40fa..69646a36 100644 --- a/core/src/main/java/com/jraska/github/client/Config.kt +++ b/core/src/main/java/com/jraska/github/client/Config.kt @@ -10,4 +10,6 @@ interface Config { fun getString(key: Key): String class Key(val name: String, val owner: Owner) + + class BreaksCaching() } From 4d2d1ee90a6933be8199f4e4f1e9c0e313ebe6d1 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:38:02 +0200 Subject: [PATCH 51/69] Annd with cache again --- core/src/main/java/com/jraska/github/client/Config.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/src/main/java/com/jraska/github/client/Config.kt b/core/src/main/java/com/jraska/github/client/Config.kt index 69646a36..34ae40fa 100644 --- a/core/src/main/java/com/jraska/github/client/Config.kt +++ b/core/src/main/java/com/jraska/github/client/Config.kt @@ -10,6 +10,4 @@ interface Config { fun getString(key: Key): String class Key(val name: String, val owner: Owner) - - class BreaksCaching() } From a4fa60845b2a03f85faf4a0b6c1361748cf462fc Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:42:41 +0200 Subject: [PATCH 52/69] Setup all the things at the same time --- .circleci/config.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 013f58a0..afd803e0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,16 +17,15 @@ jobs: paths: - ~/.gradle key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - - run: - name: Setup GCloud SDK - command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud - run: name: Run Tests command: ./gradlew check --stacktrace --no-daemon - run: name: Run Tests Firebase - command: echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV && - ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon + command: mkdir ~/gcloud + && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud + && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV + && ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon - store_artifacts: path: app/build/reports destination: app/reports From f1eb02cbe7ca0d27ccb88099079f2693289c862c Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:51:18 +0200 Subject: [PATCH 53/69] Remove empty lines just to start once more --- .circleci/config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index afd803e0..66c7f5cd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -48,5 +48,3 @@ jobs: path: feature/users/build/test-results - store_test_results: path: feature/push/build/test-results - - From 148e590822be0505a0bc08b474feb4a36c1a6f06 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:56:45 +0200 Subject: [PATCH 54/69] This wasn't here - removing --- gradle.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 1316e095..48251c9f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,6 @@ org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true android.enableJetifier=true -kapt.include.compile.classpath=false kapt.incremental.apt=true kapt.use.worker.api=true org.gradle.caching=true From def539cd85e8315aac0f6699e597f88cc1f359f5 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 01:57:25 +0200 Subject: [PATCH 55/69] Increase JVM size for gradle --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 48251c9f..f07eafa3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # suppress inspection "UnusedProperty" for whole file # Default value: -Xmx1024m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true From e7f423a25af12955d1b82a546e7028635c783940 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:00:44 +0200 Subject: [PATCH 56/69] Try different JVM memory value --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index f07eafa3..3b2acc42 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # suppress inspection "UnusedProperty" for whole file # Default value: -Xmx1024m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx3400m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true From 04807982733c3ead81ae0e4963a4e0248985e872 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:02:58 +0200 Subject: [PATCH 57/69] RUn Kotlin in process --- .circleci/config.yml | 1 + gradle.properties | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 66c7f5cd..33d6d5ea 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,6 +6,7 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m + GRADLE_OPTS: -Dkotlin.compiler.execution.strategy=in-process steps: - checkout - restore_cache: diff --git a/gradle.properties b/gradle.properties index 3b2acc42..f07eafa3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # suppress inspection "UnusedProperty" for whole file # Default value: -Xmx1024m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx3400m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true From b61b77e176cde84f54edcba98be66e7e882e5b1c Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:04:05 +0200 Subject: [PATCH 58/69] Try 3.5GB memory --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index f07eafa3..09713522 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # suppress inspection "UnusedProperty" for whole file # Default value: -Xmx1024m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx3584m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true From 03d55f69b982222fda515f5824ec71d2f4e2a309 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:09:28 +0200 Subject: [PATCH 59/69] Tryiing smaller MaxPermSize --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 09713522..1eb95ccc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # suppress inspection "UnusedProperty" for whole file # Default value: -Xmx1024m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx3584m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true From 8bde79b272fa469f6c6e6df40a42b3b53fc450d0 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:09:49 +0200 Subject: [PATCH 60/69] Withotu in process compilation --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 33d6d5ea..66c7f5cd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,6 @@ jobs: - image: circleci/android:api-29 environment: JVM_OPTS: -Xmx4096m - GRADLE_OPTS: -Dkotlin.compiler.execution.strategy=in-process steps: - checkout - restore_cache: From 08d96d9e329d9c4ff531175a04d0bb915ed252c3 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:13:10 +0200 Subject: [PATCH 61/69] Less memory for Gradle --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 1eb95ccc..3f031733 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # suppress inspection "UnusedProperty" for whole file # Default value: -Xmx1024m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx2560m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true From 766e2502651e4d865097e12929853667418a4a4d Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:17:54 +0200 Subject: [PATCH 62/69] Disable lint tasks --- app/build.gradle | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 4bfd62e6..02cf1680 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -151,3 +151,11 @@ apply from: 'firebase-test-lab.gradle' repositories { mavenCentral() } + +subprojects { + tasks.configureEach { + if (name.startsWith("lint")) { + enabled = false + } + } +} From 1d8c31d76671b9a617002defd36daece657d9dd2 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:18:12 +0200 Subject: [PATCH 63/69] Put back original MaxPermSize --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 3f031733..ee0bca22 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # suppress inspection "UnusedProperty" for whole file # Default value: -Xmx1024m -XX:MaxPermSize=256m -org.gradle.jvmargs=-Xmx2560m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx2560m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.daemon=true android.useAndroidX=true From 74bf283987129eeb3119c35aceb4ea6db50b442f Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:24:06 +0200 Subject: [PATCH 64/69] No parallel --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 66c7f5cd..1f4ad447 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -19,7 +19,7 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Run Tests - command: ./gradlew check --stacktrace --no-daemon + command: ./gradlew check --stacktrace --no-daemon --no-parallel - run: name: Run Tests Firebase command: mkdir ~/gcloud From aae453c9100f9e439d5deeb6c00c4671afa1d9d3 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:33:44 +0200 Subject: [PATCH 65/69] Try with daemon one more time --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1f4ad447..6760aeb0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,20 +12,20 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Get Dependencies - command: ./gradlew androidDependencies --no-daemon + command: ./gradlew androidDependencies - save_cache: paths: - ~/.gradle key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Run Tests - command: ./gradlew check --stacktrace --no-daemon --no-parallel + command: ./gradlew check --stacktrace --no-parallel - run: name: Run Tests Firebase command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV - && ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon + && ./gradlew runInstrumentedTestsOnFirebase --stacktrace - store_artifacts: path: app/build/reports destination: app/reports From e803793f26e563e8da1a44e7af3cf3d3d386b9e0 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:36:16 +0200 Subject: [PATCH 66/69] Now disable lint --- app/build.gradle | 8 -------- build.gradle | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 02cf1680..4bfd62e6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -151,11 +151,3 @@ apply from: 'firebase-test-lab.gradle' repositories { mavenCentral() } - -subprojects { - tasks.configureEach { - if (name.startsWith("lint")) { - enabled = false - } - } -} diff --git a/build.gradle b/build.gradle index 698f0982..ca0d3b0e 100644 --- a/build.gradle +++ b/build.gradle @@ -41,3 +41,11 @@ subprojects { } } } + +subprojects { + tasks.configureEach { + if (name.startsWith("lint")) { + enabled = false + } + } +} From 7a901ed5fc58af3c8f458af4502f959fc7fc5486 Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:45:04 +0200 Subject: [PATCH 67/69] No Daemon finally --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6760aeb0..e2df2ee9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,20 +12,20 @@ jobs: key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Get Dependencies - command: ./gradlew androidDependencies + command: ./gradlew androidDependencies --no-daemon - save_cache: paths: - ~/.gradle key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}-{{ checksum "core/build.gradle" }}-{{ checksum "core-android/build.gradle" }} - run: name: Run Tests - command: ./gradlew check --stacktrace --no-parallel + command: ./gradlew check --stacktrace --no-parallel --no-daemon - run: name: Run Tests Firebase command: mkdir ~/gcloud && curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-291.0.0-linux-x86_64.tar.gz | tar xz -C ~/gcloud && echo "export PATH=~/gcloud/google-cloud-sdk/bin:$PATH" >> $BASH_ENV - && ./gradlew runInstrumentedTestsOnFirebase --stacktrace + && ./gradlew runInstrumentedTestsOnFirebase --stacktrace --no-daemon - store_artifacts: path: app/build/reports destination: app/reports From d113f353440d61c2e1338c768eb5d382ae55726e Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:47:59 +0200 Subject: [PATCH 68/69] One build to verify stuff --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index e2df2ee9..ccd3cff7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -48,3 +48,4 @@ jobs: path: feature/users/build/test-results - store_test_results: path: feature/push/build/test-results + From 71d960c6ed0e0dc084664db8896914112e2e3e6a Mon Sep 17 00:00:00 2001 From: Josef Raska <6277721+jraska@users.noreply.github.com> Date: Sun, 10 May 2020 02:52:08 +0200 Subject: [PATCH 69/69] Update Gradle --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index ca0d3b0e..4814b617 100644 --- a/build.gradle +++ b/build.gradle @@ -9,8 +9,8 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.6.3' - classpath 'com.google.gms:google-services:4.3.3' classpath 'com.google.firebase:firebase-plugins:2.0.0' + classpath 'com.google.gms:google-services:4.3.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'io.fabric.tools:gradle:1.31.2' } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 84a90661..fd0c5a38 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists