Skip to content

Commit 59fab21

Browse files
authored
Merge pull request #62 from nventive/dev/cama/UpdateTemplate
chore: update min OS version & refactor CI/CD
2 parents 40ac7b8 + d1fb439 commit 59fab21

9 files changed

Lines changed: 25 additions & 14 deletions

build/azure-pipelines.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,15 @@ stages:
104104
applicationEnvironment: Staging
105105
deploymentEnvironment: Firebase App Distribution
106106
androidVariableGroup: 'FlutterApplicationTemplate.Distribution.Internal.Android'
107-
serviceConnectionKeyFileName: $(FirebaseAppDistributionServiceConnection)
107+
firebaseAppDistributionJson: $(FirebaseAppDistributionJson)
108108
artifactFileName: 'app-release.apk'
109109

110110
- template: stage-release-appstore.yml
111111
parameters:
112112
applicationEnvironment: Staging
113113
deploymentEnvironment: TestFlight
114+
iosVariableGroup: 'FlutterApplicationTemplate.Distribution.Internal.iOS'
115+
ServiceConnection: $(InternalServiceConnection)
114116

115117
# MOBSF SECURITY SCAN STAGING
116118
- stage: Security_Scan_Build_Staging
@@ -150,7 +152,7 @@ stages:
150152
applicationEnvironment: Production
151153
deploymentEnvironment: Firebase App Distribution
152154
androidVariableGroup: 'FlutterApplicationTemplate.Distribution.GooglePlay'
153-
serviceConnectionKeyFileName: $(FirebaseAppDistributionServiceConnection)
155+
firebaseAppDistributionJson: $(FirebaseAppDistributionJson)
154156
artifactFileName: 'app-release.apk'
155157

156158
# MOBSF SECURITY SCAN PRODUCTION
@@ -171,6 +173,8 @@ stages:
171173
parameters:
172174
applicationEnvironment: Production
173175
deploymentEnvironment: AppStore
176+
iosVariableGroup: 'FlutterApplicationTemplate.Distribution.AppStore'
177+
ServiceConnection: $(AppStoreServiceConnection)
174178

175179
- stage: GooglePlay
176180
condition: and(succeeded(), eq(variables['IsPullRequestBuild'], 'false'))

build/stage-release-appstore.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
parameters:
22
applicationEnvironment: '' # e.g. "Staging", "Production"
33
deploymentEnvironment: '' # e.g. "GooglePlay", "AppStore", "Firebase App Distribution"
4+
iosVariableGroup: ''
5+
ServiceConnection: ''
46

57
jobs:
68
- deployment: AppStore_iOS_${{ parameters.deploymentEnvironment}}
@@ -11,7 +13,7 @@ jobs:
1113
environment: ${{ parameters.deploymentEnvironment }}
1214

1315
variables:
14-
- group: FlutterApplicationTemplate.Distribution.AppStore
16+
- group: ${{ parameters.iosVariableGroup }}
1517
- name: artifactName
1618
value: $(iOSArtifactName)_${{ parameters.applicationEnvironment }}
1719

build/stage-release-firebase-app-distribution.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ parameters:
33
deploymentEnvironment: '' # e.g. "GooglePlay", "AppStore", "Firebase App Distribution"
44
androidVariableGroup: ''
55
artifactFileName: ''
6-
serviceConnectionKeyFileName: ""
6+
firebaseAppDistributionJson: ""
77

88
jobs:
99
- deployment: Firebase_Android
@@ -25,7 +25,7 @@ jobs:
2525
# Step 2: Download the service connection key file
2626
- task: DownloadSecureFile@1
2727
inputs:
28-
secureFile: ${{ parameters.serviceConnectionKeyFileName }}
28+
secureFile: ${{ parameters.firebaseAppDistributionJson }}
2929
name: DistributionServiceConnection
3030
displayName: "Download Firebase Service Connection"
3131

build/stage-security-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- template: templates/mobsf-scan.yml
2020
parameters:
2121
platform: 'iOS'
22-
fileExtension: $(ipaFileExtension)
22+
fileExtension: $(ipaFileExtension)
2323
mobSfApiKey: $(mobSfApiKey)
2424
artifactName: '$(iOSArtifactName)_${{ parameters.applicationEnvironment }}'
2525

build/variables.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,13 @@
5050
FirebaseJson: firebase-flutter.json
5151
FirebaseOptionsDart: firebase_options-flutter.dart
5252
GoogleServicesJson: google-services-flutter.json
53+
FirebaseAppDistributionJson: com.nventive.flutterapplicationtemplate.firebaseappdistribution.json
5354

5455
# Prerequisites - Service connections.
5556
# Make sure you have the following service connections in your Azure pipeline library.
5657
GooglePlayServiceConnection: GooglePlay-nventive-ApplicationTemplate
58+
InternalServiceConnection: AppStore-nventive
5759
AppStoreServiceConnection: AppStore-nventive
58-
FirebaseAppDistributionServiceConnection: com.nventive.flutterapplicationtemplate.firebaseappdistribution.json
5960

6061
# Solution to build.
6162
ProjectName: FlutterApplicationTemplate
@@ -76,7 +77,7 @@
7677

7778
# Virtual machine images.
7879
windowsHostedAgentImage: 'windows-2022'
79-
macOSHostedAgentImage: 'macOS-13'
80+
macOSHostedAgentImage: 'macOS-15'
8081
ubuntuHostedAgentImage: 'ubuntu-22.04'
8182

8283
# Name of the folder where the artefacts will be placed. Variable used in build and release phases.

src/app/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ If you're unfamiliar with Azure Pipeline, you should at least read about the fol
3939
- You can follow [this guide](https://learn.microsoft.com/en-us/azure/devops/pipelines/get-started/pipelines-sign-up?view=azure-devops) for more details.
4040
- For compilation, access to the the following [Microsoft-hosted agents](https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml) is required.
4141
- `windows-2022`
42-
- `macOS-13`
42+
- `macOS-15`
4343
- For deployment, access to Mac agents with the following capabilities is required.
4444
- `fastlane 2.212.1`
4545

src/app/android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ android {
5252

5353
defaultConfig {
5454
applicationId "com.nventive.internal.flutterapptemplate"
55-
minSdkVersion 30
56-
targetSdkVersion 34
55+
minSdkVersion 31
56+
targetSdkVersion 35
5757
versionCode flutterVersionCode.toInteger()
5858
versionName flutterVersionName
5959
}

src/app/ios/Podfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
platform :ios, '15.0'
1+
platform :ios, '16.0'
22

33
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
44
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

src/cli/CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
55

66
Prefix your items with `(Template)` if the change is about the template and not the resulting application.
77

8+
## 0.25.2
9+
- Update iOS & Android minimum version targets.
10+
- Update macOS CI/CD agent.
11+
812
## 0.25.1
913
- Update Flutter packages.
1014

@@ -38,8 +42,8 @@ Prefix your items with `(Template)` if the change is about the template and not
3842
- Added conventional commit validation stage `stage-build.yml`
3943

4044
## 0.21.0
41-
- Add bugsee sdk in Fluttter template
42-
- Update build stage in `steps-build-android.yml` and `steps-build-ios` providing bugsee token
45+
- Add Bugsee SDK in Flutter template
46+
- Update build stage in `steps-build-android.yml` and `steps-build-ios` providing Bugsee token
4347

4448
## 0.20.4
4549
- Updates to documentation

0 commit comments

Comments
 (0)