From b4128a3723ea270120402621864d994457d6c249 Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Fri, 17 Jan 2025 13:40:25 -0500 Subject: [PATCH 1/9] Run Android unit tests for plugin and example in CI. --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f8b4fb..d7ef145 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,6 +48,9 @@ jobs: - name: Run example app tests run: cd example && flutter test + - name: Android unit tests + run: cd example/android && ./gradlew testDebugUnitTest + - name: Test docs generation run: dart doc --dry-run From dfe6731038fa2f2ae3886f9f2cebe267b50357cc Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Fri, 17 Jan 2025 13:44:26 -0500 Subject: [PATCH 2/9] Update task name and fully specify gradlew --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d7ef145..4ac411a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,8 +48,8 @@ jobs: - name: Run example app tests run: cd example && flutter test - - name: Android unit tests - run: cd example/android && ./gradlew testDebugUnitTest + - name: Run Android unit tests + run: cd example/android && example/android/gradlew testDebugUnitTest - name: Test docs generation run: dart doc --dry-run From d7184e31d53e6be23dbf7863452e4716d4177401 Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Fri, 17 Jan 2025 14:35:42 -0500 Subject: [PATCH 3/9] Add setup for JDK and gradle in CI --- .github/workflows/ci.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4ac411a..820a846 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,6 +32,15 @@ jobs: flutter-version: 3.x - run: flutter --version + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: 17 + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + - name: Install dependencies run: flutter pub get @@ -49,7 +58,7 @@ jobs: run: cd example && flutter test - name: Run Android unit tests - run: cd example/android && example/android/gradlew testDebugUnitTest + run: cd example/android && ./gradlew test - name: Test docs generation run: dart doc --dry-run From 1768120f1d942e1e48f88a5853a15e90ee647d68 Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Fri, 17 Jan 2025 14:59:12 -0500 Subject: [PATCH 4/9] Switch to installed gradle since wrapper is in gitignore --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 820a846..16458fd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: run: cd example && flutter test - name: Run Android unit tests - run: cd example/android && ./gradlew test + run: gradle --project-dir example/android test - name: Test docs generation run: dart doc --dry-run From 208c454e0305a4854085495713fad638d2859b2e Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Fri, 17 Jan 2025 15:20:24 -0500 Subject: [PATCH 5/9] Set a fake FSOrgId to unblock android unit tests --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 16458fd..4df1564 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,8 @@ jobs: run: cd example && flutter test - name: Run Android unit tests - run: gradle --project-dir example/android test + # Inject a fake Org ID so that tests can be run + run: cd example/android && echo "FSOrgId=TEST" > local.properties && gradle test && rm local.properties - name: Test docs generation run: dart doc --dry-run From 9f0dc8c5e498d5344acd7d98c057bbe32546cf67 Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Fri, 17 Jan 2025 16:08:26 -0500 Subject: [PATCH 6/9] Create a properties file for necessary fields. --- .github/workflows/ci.yml | 5 ++++- .github/workflows/create_properties.sh | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/create_properties.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4df1564..72f5e70 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,9 +38,12 @@ jobs: java-version: 17 distribution: 'temurin' - - name: Setup Gradle + - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 + - name: Set up Gradle properties + run: bash .github/workflows/create_properties.sh + - name: Install dependencies run: flutter pub get diff --git a/.github/workflows/create_properties.sh b/.github/workflows/create_properties.sh new file mode 100644 index 0000000..7670fe6 --- /dev/null +++ b/.github/workflows/create_properties.sh @@ -0,0 +1,7 @@ +#! /bin/bash + +# Generate a local.properties file sufficient to build and run Android unit tests. +mkdir -p ~/.gradle +echo "FSOrgId=TEST" > ~/.gradle/gradle.properties +FLUTTER_BIN=$(dirname "$(which flutter)") +echo "flutter.sdk=$FLUTTER_BIN"/.. >> ~/.gradle/gradle.properties \ No newline at end of file From 45a10b8e6db1addda56128516b3147510e2b043d Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Fri, 17 Jan 2025 16:26:21 -0500 Subject: [PATCH 7/9] Switch to setting values in local.properties --- .github/workflows/ci.yml | 6 ++++-- .github/workflows/create_properties.sh | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72f5e70..7f6d569 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -60,9 +60,11 @@ jobs: - name: Run example app tests run: cd example && flutter test + - name: Generate local.properties + run: bash .github/workflows/create_properties.sh + - name: Run Android unit tests - # Inject a fake Org ID so that tests can be run - run: cd example/android && echo "FSOrgId=TEST" > local.properties && gradle test && rm local.properties + run: cd example/android && gradle test - name: Test docs generation run: dart doc --dry-run diff --git a/.github/workflows/create_properties.sh b/.github/workflows/create_properties.sh index 7670fe6..587048f 100644 --- a/.github/workflows/create_properties.sh +++ b/.github/workflows/create_properties.sh @@ -1,7 +1,7 @@ #! /bin/bash # Generate a local.properties file sufficient to build and run Android unit tests. -mkdir -p ~/.gradle -echo "FSOrgId=TEST" > ~/.gradle/gradle.properties +# Run from project root directory. +echo "FSOrgId=TEST" > example/android/local.properties FLUTTER_BIN=$(dirname "$(which flutter)") -echo "flutter.sdk=$FLUTTER_BIN"/.. >> ~/.gradle/gradle.properties \ No newline at end of file +echo "flutter.sdk=$FLUTTER_BIN/.." >> example/android/local.properties \ No newline at end of file From 903b928f3f50fa959c50649ba391398f4071678f Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Fri, 17 Jan 2025 16:34:10 -0500 Subject: [PATCH 8/9] Remove duplicate properties creation --- .github/workflows/ci.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f6d569..0ab5fc5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: - name: Set up Gradle uses: gradle/actions/setup-gradle@v4 - - name: Set up Gradle properties + - name: Set up local.properties run: bash .github/workflows/create_properties.sh - name: Install dependencies @@ -60,9 +60,6 @@ jobs: - name: Run example app tests run: cd example && flutter test - - name: Generate local.properties - run: bash .github/workflows/create_properties.sh - - name: Run Android unit tests run: cd example/android && gradle test From d8372b948e69906337b0f61f669f372bc20bab42 Mon Sep 17 00:00:00 2001 From: Conner Kasten Date: Tue, 21 Jan 2025 08:55:52 -0500 Subject: [PATCH 9/9] Add missing final newline --- .github/workflows/create_properties.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create_properties.sh b/.github/workflows/create_properties.sh index 587048f..c43d630 100644 --- a/.github/workflows/create_properties.sh +++ b/.github/workflows/create_properties.sh @@ -4,4 +4,4 @@ # Run from project root directory. echo "FSOrgId=TEST" > example/android/local.properties FLUTTER_BIN=$(dirname "$(which flutter)") -echo "flutter.sdk=$FLUTTER_BIN/.." >> example/android/local.properties \ No newline at end of file +echo "flutter.sdk=$FLUTTER_BIN/.." >> example/android/local.properties