From 8068ec27c30d703d4c9c962b3355ce6b4a2a612e Mon Sep 17 00:00:00 2001 From: Mohamed Kamal Date: Mon, 10 Mar 2025 03:44:35 +0200 Subject: [PATCH 1/5] chore: add script to fetch flutter latest stable version --- scripts/releases/get_latest_stable_flutter_version.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 scripts/releases/get_latest_stable_flutter_version.sh diff --git a/scripts/releases/get_latest_stable_flutter_version.sh b/scripts/releases/get_latest_stable_flutter_version.sh new file mode 100755 index 000000000..d9d5966df --- /dev/null +++ b/scripts/releases/get_latest_stable_flutter_version.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +flutterReleaseJson=$(curl -s "https://storage.googleapis.com/flutter_infra_release/releases/releases_linux.json") + +flutterVersion=$(jq -r '[.releases[] | select(.channel=="stable")][0].version' <<< $flutterReleaseJson) + +echo $flutterVersion \ No newline at end of file From 3ad1dfb1c886bf979ed637214bcb6e123b9bc26e Mon Sep 17 00:00:00 2001 From: Mohamed Kamal Date: Mon, 10 Mar 2025 03:45:40 +0200 Subject: [PATCH 2/5] ci: enable supplying flutter version to the flutter setup command, add sample build tests to workflow --- .circleci/config.yml | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 67e56d8fa..872142443 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,9 +8,13 @@ orbs: commands: setup_flutter: + parameters: + version: + type: string + default: 3.10.5 steps: - flutter/install_sdk_and_pub: - version: 3.10.5 + version: <> - run: name: Generate Pigeons command: sh ./scripts/pigeon.sh @@ -241,6 +245,38 @@ jobs: command: dart run pana --no-warning --exit-code-threshold 0 - run: flutter pub publish --dry-run + test_build_sample_android: + executor: + name: android/android-machine + resource-class: xlarge + tag: 2024.01.1 + steps: + - advanced-checkout/shallow-checkout + - setup_flutter: + version: $(./scripts/releases/get_latest_stable_flutter_version.sh) + - run: + name: Switch to Example app & Build app + command: cd scripts && flutter build apk --debug + + test_build_sample_ios: + macos: + xcode: 15.2.0 + resource_class: macos.m1.medium.gen1 + steps: + - advanced-checkout/shallow-checkout + - setup_flutter: + version: $(./scripts/releases/get_latest_stable_flutter_version.sh) + - run: + name: Install CocoaPods + command: sudo gem install cocoapods + - run: + name: Install Pods + working_directory: example/ios + command: pod install --repo-update + - run: + name: Switch to Example app & Build app + command: cd scripts && flutter build ios --simulator + release: macos: xcode: 15.2.0 @@ -302,6 +338,8 @@ workflows: - verify_pub: requires: - lint_flutter + - test_build_sample_android + - test_build_sample_ios - hold_release: type: approval requires: @@ -316,6 +354,8 @@ workflows: # - test_ios - e2e_ios_captain - verify_pub + - test_build_sample_android + - test_build_sample_ios filters: branches: only: master From d93d7f0c5257d26405fcf55ced8e215981caa779 Mon Sep 17 00:00:00 2001 From: Mohamed Kamal Date: Mon, 10 Mar 2025 13:30:08 +0200 Subject: [PATCH 3/5] fix: remove dynamic allocating of version parameter in config file --- .circleci/config.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 872142443..9c3fc868a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -252,8 +252,10 @@ jobs: tag: 2024.01.1 steps: - advanced-checkout/shallow-checkout - - setup_flutter: - version: $(./scripts/releases/get_latest_stable_flutter_version.sh) + - setup_flutter + - run: + name: Upgrade Flutter + command: flutter upgrade && flutter --version - run: name: Switch to Example app & Build app command: cd scripts && flutter build apk --debug @@ -264,8 +266,10 @@ jobs: resource_class: macos.m1.medium.gen1 steps: - advanced-checkout/shallow-checkout - - setup_flutter: - version: $(./scripts/releases/get_latest_stable_flutter_version.sh) + - setup_flutter + - run: + name: Upgrade Flutter + command: flutter upgrade && flutter --version - run: name: Install CocoaPods command: sudo gem install cocoapods From f622599c63ab8b8ba20da49fd4913ca8a838a68a Mon Sep 17 00:00:00 2001 From: Mohamed Kamal Date: Mon, 10 Mar 2025 14:10:10 +0200 Subject: [PATCH 4/5] fix: add environment variable FLUTTER_GIT_URL --- .circleci/config.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9c3fc868a..f8ab6595d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -255,6 +255,8 @@ jobs: - setup_flutter - run: name: Upgrade Flutter + environment: + FLUTTER_GIT_URL: ssh://git@github.com/flutter/flutter.git command: flutter upgrade && flutter --version - run: name: Switch to Example app & Build app @@ -266,17 +268,12 @@ jobs: resource_class: macos.m1.medium.gen1 steps: - advanced-checkout/shallow-checkout - - setup_flutter + - setup_ios - run: name: Upgrade Flutter + environment: + FLUTTER_GIT_URL: ssh://git@github.com/flutter/flutter.git command: flutter upgrade && flutter --version - - run: - name: Install CocoaPods - command: sudo gem install cocoapods - - run: - name: Install Pods - working_directory: example/ios - command: pod install --repo-update - run: name: Switch to Example app & Build app command: cd scripts && flutter build ios --simulator From fa5fbb699062e987e44cb7468dd96cff66ffda0b Mon Sep 17 00:00:00 2001 From: Mohamed Kamal Date: Mon, 10 Mar 2025 14:19:22 +0200 Subject: [PATCH 5/5] chore: use working_directory instead of cd --- .circleci/config.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f8ab6595d..013d8ccdb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -259,8 +259,9 @@ jobs: FLUTTER_GIT_URL: ssh://git@github.com/flutter/flutter.git command: flutter upgrade && flutter --version - run: - name: Switch to Example app & Build app - command: cd scripts && flutter build apk --debug + name: Build app + working_directory: example + command: flutter build apk --debug test_build_sample_ios: macos: @@ -275,8 +276,9 @@ jobs: FLUTTER_GIT_URL: ssh://git@github.com/flutter/flutter.git command: flutter upgrade && flutter --version - run: - name: Switch to Example app & Build app - command: cd scripts && flutter build ios --simulator + name: Build app + working_directory: example + command: flutter build ios --simulator release: macos: