Skip to content

Commit 46b2e12

Browse files
authored
chore(fastlane): Refactor Fastlane configuration and workflows (#1846)
1 parent fb7a12e commit 46b2e12

12 files changed

+456
-99
lines changed

.github/workflows/multi-platform-build-and-publish.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ on:
7171

7272
target_branch:
7373
type: string
74-
default: 'dev'
74+
default: 'development'
7575
description: 'Target branch for release'
7676

7777
build_ios:
@@ -104,7 +104,7 @@ jobs:
104104
ios_package_name: 'mifospay-ios' # <-- Change this to your ios package name
105105
desktop_package_name: 'mifospay-desktop' # <-- Change this to your desktop package name
106106
web_package_name: 'mifospay-web' # <-- Change this to your web package name
107-
tester_groups: 'mobile-wallet-testing' # <-- Change this to your Firebase tester group
107+
tester_groups: 'mifos-mobile-testers' # <-- Change this to your Firebase tester group
108108
build_ios: ${{ inputs.build_ios }}
109109
publish_ios: ${{ inputs.publish_ios }}
110110
secrets:

.github/workflows/tag-weekly-release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ jobs:
107107
owner: context.repo.owner,
108108
repo: context.repo.repo,
109109
workflow_id: 'multi-platform-build-and-publish.yml',
110-
ref: 'dev',
110+
ref: 'development',
111111
inputs: {
112112
"release_type": "beta",
113113
},
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Upload Demo App on Firebase
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
tester_groups:
7+
description: 'Comma-separated list of tester groups'
8+
required: true
9+
default: 'mifos-mobile-testers'
10+
type: string
11+
12+
pull_request:
13+
types: [ labeled ]
14+
branches:
15+
- 'development'
16+
- 'master'
17+
18+
concurrency:
19+
group: firebase-${{ github.ref }}
20+
cancel-in-progress: true
21+
22+
jobs:
23+
upload_demo_app_on_firebase:
24+
name: Upload Demo App on Firebase
25+
runs-on: macos-latest
26+
if: github.event.label.name == 'firebase-test-on' || github.event_name == 'workflow_dispatch'
27+
steps:
28+
- uses: actions/checkout@v4
29+
with:
30+
fetch-depth: 0
31+
32+
- name: ☁️ Deploy Android App on Firebase
33+
uses: openMF/[email protected]
34+
with:
35+
release_type: 'demo'
36+
android_package_name: 'mifospay-android'
37+
keystore_file: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
38+
keystore_password: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }}
39+
keystore_alias: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }}
40+
keystore_alias_password: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}
41+
google_services: ${{ secrets.GOOGLESERVICES }}
42+
firebase_creds: ${{ secrets.FIREBASECREDS }}
43+
tester_groups: ${{ inputs.tester_groups }}

Gemfile

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
source "https://rubygems.org"
22

3-
ruby File.read(".ruby-version").strip
3+
begin
4+
ruby File.read(".ruby-version").strip
5+
rescue Errno::ENOENT
6+
ruby "3.3.5" # Default version if .ruby-version doesn't exist
7+
end
48

59
gem "fastlane"
610

7-
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
11+
plugins_path = File.join(File.dirname(__FILE__), "fastlane", "Pluginfile")
812
eval_gemfile(plugins_path) if File.exist?(plugins_path)

Gemfile.lock

+12-12
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,20 @@ GEM
1010
artifactory (3.0.17)
1111
atomos (0.1.3)
1212
aws-eventstream (1.3.0)
13-
aws-partitions (1.1023.0)
14-
aws-sdk-core (3.214.0)
13+
aws-partitions (1.1035.0)
14+
aws-sdk-core (3.215.0)
1515
aws-eventstream (~> 1, >= 1.3.0)
1616
aws-partitions (~> 1, >= 1.992.0)
1717
aws-sigv4 (~> 1.9)
1818
jmespath (~> 1, >= 1.6.1)
1919
aws-sdk-kms (1.96.0)
2020
aws-sdk-core (~> 3, >= 3.210.0)
2121
aws-sigv4 (~> 1.5)
22-
aws-sdk-s3 (1.176.1)
22+
aws-sdk-s3 (1.177.0)
2323
aws-sdk-core (~> 3, >= 3.210.0)
2424
aws-sdk-kms (~> 1)
2525
aws-sigv4 (~> 1.5)
26-
aws-sigv4 (1.10.1)
26+
aws-sigv4 (1.11.0)
2727
aws-eventstream (~> 1, >= 1.0.2)
2828
babosa (1.0.4)
2929
base64 (0.2.0)
@@ -58,16 +58,16 @@ GEM
5858
faraday-em_synchrony (1.0.0)
5959
faraday-excon (1.1.0)
6060
faraday-httpclient (1.0.1)
61-
faraday-multipart (1.0.4)
62-
multipart-post (~> 2)
61+
faraday-multipart (1.1.0)
62+
multipart-post (~> 2.0)
6363
faraday-net_http (1.0.2)
6464
faraday-net_http_persistent (1.2.0)
6565
faraday-patron (1.0.0)
6666
faraday-rack (1.0.0)
6767
faraday-retry (1.0.3)
6868
faraday_middleware (1.2.1)
6969
faraday (~> 1.0)
70-
fastimage (2.3.1)
70+
fastimage (2.4.0)
7171
fastlane (2.226.0)
7272
CFPropertyList (>= 2.3, < 4.0.0)
7373
addressable (>= 2.8, < 3.0.0)
@@ -110,7 +110,7 @@ GEM
110110
xcodeproj (>= 1.13.0, < 2.0.0)
111111
xcpretty (~> 0.4.0)
112112
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
113-
fastlane-plugin-firebase_app_distribution (0.9.1)
113+
fastlane-plugin-firebase_app_distribution (0.10.0)
114114
google-apis-firebaseappdistribution_v1 (~> 0.3.0)
115115
google-apis-firebaseappdistribution_v1alpha (~> 0.2.0)
116116
fastlane-plugin-increment_build_number (0.0.4)
@@ -162,8 +162,8 @@ GEM
162162
domain_name (~> 0.5)
163163
httpclient (2.8.3)
164164
jmespath (1.6.2)
165-
json (2.9.0)
166-
jwt (2.9.3)
165+
json (2.9.1)
166+
jwt (2.10.1)
167167
base64
168168
mini_magick (4.13.2)
169169
mini_mime (1.1.5)
@@ -174,7 +174,7 @@ GEM
174174
nkf (0.2.0)
175175
optparse (0.6.0)
176176
os (1.1.4)
177-
plist (3.7.1)
177+
plist (3.7.2)
178178
public_suffix (6.0.1)
179179
rake (13.2.1)
180180
representable (3.2.0)
@@ -185,7 +185,7 @@ GEM
185185
rexml (3.4.0)
186186
rouge (3.28.0)
187187
ruby2_keywords (0.0.5)
188-
rubyzip (2.3.2)
188+
rubyzip (2.4.1)
189189
security (0.1.5)
190190
signet (0.19.0)
191191
addressable (~> 2.8)

fastlane-config/android_config.rb

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
module FastlaneConfig
2+
module AndroidConfig
3+
STORE_CONFIG = {
4+
default_store_file: "release_keystore.keystore",
5+
default_store_password: "Mifospay",
6+
default_key_alias: "key0",
7+
default_key_password: "Mifos@123"
8+
}
9+
10+
FIREBASE_CONFIG = {
11+
firebase_prod_app_id: "1:64530857057:android:f8d67b786db1b844",
12+
firebase_demo_app_id: "1:728434912738:android:48ccd9153349f31e1a1dbb",
13+
firebase_service_creds_file: "secrets/firebaseAppDistributionServiceCredentialsFile.json",
14+
firebase_groups: "mifos-mobile-testers"
15+
}
16+
17+
BUILD_PATHS = {
18+
prod_apk_path: "mifospay-android/build/outputs/apk/prod/release/mifospay-android-prod-release.apk",
19+
demo_apk_path: "mifospay-android/build/outputs/apk/demo/release/mifospay-android-demo-release.apk",
20+
prod_aab_path: "mifospay-android/build/outputs/bundle/prodRelease/mifospay-android-prod-release.aab"
21+
}
22+
end
23+
end

fastlane-config/ios_config.rb

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module FastlaneConfig
2+
module IosConfig
3+
FIREBASE_CONFIG = {
4+
firebase_app_id: "1:728434912738:ios:86a7badfaed88b841a1dbb",
5+
firebase_service_creds_file: "secrets/firebaseAppDistributionServiceCredentialsFile.json",
6+
firebase_groups: "mifos-mobile-testers"
7+
}
8+
9+
BUILD_CONFIG = {
10+
project_path: "mifospay-ios/iosApp.xcodeproj",
11+
scheme: "iosApp",
12+
output_directory: "mifospay-ios/build"
13+
}
14+
end
15+
end

0 commit comments

Comments
 (0)