From a8aa0f43dd4ac04be30b12e36653f052faa4b691 Mon Sep 17 00:00:00 2001 From: MysticFragilist Date: Thu, 26 Oct 2023 14:15:22 -0400 Subject: [PATCH 1/4] fix ios build --- ios/Podfile | 7 +++++ ios/Podfile.lock | 44 ++++++++++++++-------------- ios/Runner.xcodeproj/project.pbxproj | 21 +++++++++++++ 3 files changed, 50 insertions(+), 22 deletions(-) diff --git a/ios/Podfile b/ios/Podfile index 17b3307cc..f3ff7cdc6 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,6 @@ # Uncomment this line to define a global platform for your project # platform :ios, '11.0' +app_ios_deployment_target = Gem::Version.new('12.0') # Change to your current deployment target # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -44,5 +45,11 @@ end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) + target.build_configurations.each do |configuration| + pod_ios_deployment_target = Gem::Version.new(configuration.build_settings['IPHONEOS_DEPLOYMENT_TARGET']) + if pod_ios_deployment_target <= app_ios_deployment_target + configuration.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET' + end + end end end diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 80c95058f..516bcab83 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -32,7 +32,7 @@ PODS: - Firebase/RemoteConfig (= 10.3.0) - firebase_core - Flutter - - FirebaseABTesting (10.5.0): + - FirebaseABTesting (10.16.0): - FirebaseCore (~> 10.0) - FirebaseAnalytics (10.3.0): - FirebaseAnalytics/AdIdSupport (= 10.3.0) @@ -56,7 +56,7 @@ PODS: - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Logger (~> 7.8) - - FirebaseCoreInternal (10.5.0): + - FirebaseCoreInternal (10.16.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - FirebaseCrashlytics (10.3.0): - FirebaseCore (~> 10.0) @@ -65,7 +65,7 @@ PODS: - GoogleUtilities/Environment (~> 7.8) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (~> 2.1) - - FirebaseInstallations (10.5.0): + - FirebaseInstallations (10.16.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) @@ -112,7 +112,7 @@ PODS: - GoogleUtilities/Network (~> 7.8) - "GoogleUtilities/NSData+zlib (~> 7.8)" - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleDataTransport (9.2.1): + - GoogleDataTransport (9.2.5): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) @@ -121,24 +121,24 @@ PODS: - GoogleMaps/Base (5.2.0) - GoogleMaps/Maps (5.2.0): - GoogleMaps/Base - - GoogleUtilities/AppDelegateSwizzler (7.11.0): + - GoogleUtilities/AppDelegateSwizzler (7.11.5): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.11.0): + - GoogleUtilities/Environment (7.11.5): - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.11.0): + - GoogleUtilities/Logger (7.11.5): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.11.0): + - GoogleUtilities/MethodSwizzler (7.11.5): - GoogleUtilities/Logger - - GoogleUtilities/Network (7.11.0): + - GoogleUtilities/Network (7.11.5): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.11.0)" - - GoogleUtilities/Reachability (7.11.0): + - "GoogleUtilities/NSData+zlib (7.11.5)" + - GoogleUtilities/Reachability (7.11.5): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (7.11.0): + - GoogleUtilities/UserDefaults (7.11.5): - GoogleUtilities/Logger - home_widget (0.0.1): - Flutter @@ -153,7 +153,7 @@ PODS: - Flutter - path_provider_ios (0.0.1): - Flutter - - PromisesObjC (2.1.1) + - PromisesObjC (2.3.1) - ReachabilitySwift (5.0.0) - shared_preferences_ios (0.0.1): - Flutter @@ -267,30 +267,30 @@ SPEC CHECKSUMS: firebase_core: bf59c32d2e53814f558efa20840c1902fa2fe461 firebase_crashlytics: a45cced3521640e1e389d8b3662936ea9afd6055 firebase_remote_config: 5007603d4cec2dc1e5016077a7ec36ed93c5041b - FirebaseABTesting: 8cb5cc4e395c8dce8a2820a6a329020ead56fe2f + FirebaseABTesting: 03f0a8b88cf618350527f2c6a2234e29b9c65064 FirebaseAnalytics: 036232b6a1e2918e5f67572417be1173576245f3 FirebaseCore: 988754646ab3bd4bdcb740f1bfe26b9f6c0d5f2a - FirebaseCoreInternal: e463f41bb935cd049505bf7e9a5bdd7dcea90df6 + FirebaseCoreInternal: 26233f705cc4531236818a07ac84d20c333e505a FirebaseCrashlytics: f20d956f8229010b645e534693c39e0b7843c268 - FirebaseInstallations: 935bc4abb6f7a035cab7a0c31cb777b2be3dd254 + FirebaseInstallations: b822f91a61f7d1ba763e5ccc9d4f2e6f2ed3b3ee FirebaseRemoteConfig: c24f767c17b0440ee63c7e93380d599173556113 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - flutter_config: 2226c1df19c78fe34a05eb7f1363445f18e76fc1 + flutter_config: f48f0d47a284f1791aacce2687eabb3309ba7a41 flutter_custom_tabs: 7a10a08686955cb748e5d26e0ae586d30689bf89 flutter_secure_storage: 23fc622d89d073675f2eaa109381aefbcf5a49be fluttertoast: 16fbe6039d06a763f3533670197d01fc73459037 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a google_maps_flutter_ios: 66201f392bf62d500f07670a30488a247b9bb5b9 GoogleAppMeasurement: c7d6fff39bf2d829587d74088d582e32d75133c3 - GoogleDataTransport: ea169759df570f4e37bdee1623ec32a7e64e67c4 + GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2 GoogleMaps: 025272d5876d3b32604e5c080dc25eaf68764693 - GoogleUtilities: c2bdc4cf2ce786c4d2e6b3bcfd599a25ca78f06f + GoogleUtilities: 13e2c67ede716b8741c7989e26893d151b2b2084 home_widget: 2829415127ee92e876f816cbbe44c0b6601b8a37 in_app_review: 318597b3a06c22bb46dc454d56828c85f444f99d nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 - PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb + PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 @@ -299,6 +299,6 @@ SPEC CHECKSUMS: url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de webview_flutter_wkwebview: 005fbd90c888a42c5690919a1527ecc6649e1162 -PODFILE CHECKSUM: a6ab79567d5a527b85ace1f55bd19f140d2d619c +PODFILE CHECKSUM: fa4650732678ed866d3e81e65744dc86c9d74a54 -COCOAPODS: 1.11.3 +COCOAPODS: 1.13.0 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 42497f9ae..2fee02ba4 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -358,6 +358,7 @@ 2514E4C0200A7C8F9602FA07 /* [CP] Embed Pods Frameworks */, EC003C2FBA7B622A19ED75DB /* [CP] Copy Pods Resources */, 187D822F290314B500821D5F /* Embed Foundation Extensions */, + 8328A493741025D7CEB9E6D2 /* [firebase_crashlytics] Crashlytics Upload Symbols */, ); buildRules = ( ); @@ -483,6 +484,26 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 8328A493741025D7CEB9E6D2 /* [firebase_crashlytics] Crashlytics Upload Symbols */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}\"", + "\"$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)\"", + ); + name = "[firebase_crashlytics] Crashlytics Upload Symbols"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$PODS_ROOT/FirebaseCrashlytics/upload-symbols\" --flutter-project \"$PROJECT_DIR/firebase_app_id_file.json\" "; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; From 6e9f50ea921b5361c9ea9da8d00fb84a7e66012d Mon Sep 17 00:00:00 2001 From: MysticFragilist Date: Thu, 26 Oct 2023 14:21:47 -0400 Subject: [PATCH 2/4] update IPHONEOS_DEPLOYMENT_TARGET --- ios/Runner.xcodeproj/project.pbxproj | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 2fee02ba4..e694350ab 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -798,7 +798,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -824,6 +824,7 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "ÉTSMobile"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -884,7 +885,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -933,7 +934,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -961,6 +962,7 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "ÉTSMobile"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -993,6 +995,7 @@ INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "ÉTSMobile"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.education"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", From 23daf6e99f2d0d95e31e76154bc334e443891a8c Mon Sep 17 00:00:00 2001 From: Xavier Paquet-Rapold Date: Thu, 26 Oct 2023 21:35:27 -0400 Subject: [PATCH 3/4] Update version --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 21663b9a0..88555c599 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: The 4th generation of ÉTSMobile, the main gateway between the Éco # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 4.28.2+1 +version: 4.28.3+1 environment: sdk: ">=2.10.0 <3.0.0" From 3dbf8552f1f36bc09a4976bd236bc36d71c34376 Mon Sep 17 00:00:00 2001 From: Xavier Paquet-Rapold Date: Thu, 26 Oct 2023 22:16:51 -0400 Subject: [PATCH 4/4] Update workflows to update pods on dev and install pods on master and release --- .github/workflows/dev-workflow.yaml | 23 +++++++++++++++++++++-- .github/workflows/master-workflow.yaml | 6 ++++-- .github/workflows/release-workflow.yaml | 3 +-- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/.github/workflows/dev-workflow.yaml b/.github/workflows/dev-workflow.yaml index d1cf1f30e..73e189cdf 100644 --- a/.github/workflows/dev-workflow.yaml +++ b/.github/workflows/dev-workflow.yaml @@ -9,6 +9,8 @@ on: - 'README.fr.md' - 'android/fastlane/**' - 'ios/fastlane/**' + - '.github/master-workflow.yaml' + - '.github/release-workflow.yaml' concurrency: group: ${{ github.ref }} cancel-in-progress: true @@ -241,9 +243,26 @@ jobs: run: | flutter pub get cd ios - rm Podfile.lock - pod install --repo-update + pod update flutter clean + + - name: Commit pod updates + if: matrix.target == 'iOS' + id: commit_pod_versions + uses: stefanzweifel/git-auto-commit-action@v4 + with: + file_pattern: "*.lock" + commit_user_name: github-actions[bot] + commit_user_email: 41898282+github-actions[bot]@users.noreply.github.com + commit_message: "[BOT] Applying pod update." + add_options: '-u' + + # Fail workflow, because new commit will execute workflow + - if: ${{ matrix.target == 'iOS' && steps.commit_pod_versions.outputs.changes_detected == 'true' }} + name: Fail workflow if pod version change + run: | + echo 'Pod update applied, running bot commit workflow' + exit 1 # Get dependencies and decrypt needed files. - run: flutter pub get diff --git a/.github/workflows/master-workflow.yaml b/.github/workflows/master-workflow.yaml index 015eb9dfc..dda3d5ae9 100644 --- a/.github/workflows/master-workflow.yaml +++ b/.github/workflows/master-workflow.yaml @@ -11,6 +11,9 @@ on: - 'README.fr.md' - 'android/fastlane/**' - 'ios/fastlane/**' + - '.github/dev-workflow.yaml' + - '.github/release-workflow.yaml' + concurrency: group: ${{ github.ref }} cancel-in-progress: true @@ -175,8 +178,7 @@ jobs: run: | flutter pub get cd ios - rm Podfile.lock - pod install --repo-update + pod install flutter clean # Get dependencies and decrypt needed files. diff --git a/.github/workflows/release-workflow.yaml b/.github/workflows/release-workflow.yaml index caaa805b3..72aafe6e1 100644 --- a/.github/workflows/release-workflow.yaml +++ b/.github/workflows/release-workflow.yaml @@ -50,8 +50,7 @@ jobs: run: | flutter pub get cd ios - rm Podfile.lock - pod install --repo-update + pod install flutter clean - run: flutter doctor -v