1- name : " Build App and Upload"
1+ name : ' Build App and Upload'
22
33on :
44 # manual trigger but change to any supported event
1111 default : ' all'
1212 type : choice
1313 options :
14- - all
15- - ios
16- - android
14+ - all
15+ - ios
16+ - android
1717
1818 release :
1919 types : [published]
2020
21-
2221jobs :
2322 build_ios :
2423 runs-on : macos-latest
@@ -37,22 +36,22 @@ jobs:
3736 run : /usr/bin/xcodebuild -version
3837
3938 - name : Checkout Repository
40- uses : actions/checkout@v4
39+ uses : actions/checkout@v4
4140
4241 - name : Install Fastlane and Fix CocoaPods
4342 run : |
4443 sudo gem install cocoapods -v 1.15.2
4544 sudo gem install fastlane -NV
4645 fastlane --version
47-
46+
4847 - name : Install Node.js
4948 uses : actions/setup-node@v4
5049 with :
5150 node-version : ' 22.x'
52-
51+
5352 - name : Install Dependencies
54- run : npm install
55-
53+ run : pnpm install
54+
5655 - name : Expo Prebuild [iOS]
5756 run : |
5857 npx expo prebuild --platform ios --npm
6968
7069 build_android :
7170 runs-on : ubuntu-latest
72-
71+
7372 # build for android if platform is android or all, or if triggered by a release
7473 if : github.event_name == 'release' || inputs.buildPlatform == 'all' || inputs.buildPlatform == 'android'
7574
@@ -87,21 +86,26 @@ jobs:
8786 with :
8887 distribution : ' temurin' # See 'Supported distributions' for available options
8988 java-version : ' 17'
90-
89+
9190 - name : Install Node.js
9291 uses : actions/setup-node@v4
9392 with :
9493 node-version : ' 22.x'
9594
95+ - name : Setup pnpm
96+ uses : pnpm/action-setup@v4
97+ with :
98+ version : 10
99+
96100 - name : Install Dependencies
97- run : npm install
101+ run : pnpm install
98102
99103 - name : Write Google Maps API Key to app.json
100104 run : |
101105 sed -i "s/{{GOOGLE_MAPS_KEY}}/$GOOGLE_MAPS_KEY/g" app.json
102106 env :
103107 GOOGLE_MAPS_KEY : ${{ secrets.GOOGLE_MAPS_KEY }}
104-
108+
105109 - name : Expo Prebuild [Android]
106110 run : |
107111 npx expo prebuild --platform android --npm
@@ -129,16 +133,16 @@ jobs:
129133 KEY_PASSWORD : ${{ secrets.AAB_PASSWORD }}
130134 STORE_PASSWORD : ${{ secrets.AAB_PASSWORD }}
131135 KEY_PATH : ${{ github.workspace }}/android/app/maroon-rides-release-key.jks
132-
136+
133137 GOOGLE_PLAY_KEY : ${{ secrets.GOOGLE_PLAY_KEY }}
134- PACKAGE_NAME : " com.maroonrides.maroonrides"
138+ PACKAGE_NAME : ' com.maroonrides.maroonrides'
135139 APP_GRADLE_FILE : ${{ github.workspace }}/android/app/build.gradle
136-
140+
137141 - uses : actions/upload-artifact@v4
138142 with :
139143 name : app-bundle.aab
140144 path : ./android/app/build/outputs/bundle/release/app-release.aab
141-
145+
142146 - name : Set outputs
143147 id : git_sha
144148 run : echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
@@ -148,4 +152,4 @@ jobs:
148152 env :
149153 GOOGLE_PLAY_KEY : ${{ secrets.GOOGLE_PLAY_KEY }}
150154 RELEASE_NAME : ${{ github.event.release.tag_name || steps.git_sha.outputs.sha_short }}
151- PACKAGE_NAME : " com.maroonrides.maroonrides"
155+ PACKAGE_NAME : ' com.maroonrides.maroonrides'
0 commit comments