@@ -72,13 +72,13 @@ jobs:
7272 echo "🚀 Setting up project..."
7373 yarn setup:github-ci --no-build-ios
7474
75- # Generate fingerprint AFTER setup but BEFORE any build modifications (the fingerprint now is fake we do not want the cached apk)
76- - name : Generate current fingerprint
77- id : generate-fingerprint
78- run : |
79- FINGERPRINT=$(yarn fingerprint:generate)
80- echo "fingerprint=$FINGERPRINT" >> "$GITHUB_OUTPUT"
81- echo "Current fingerprint: ${FINGERPRINT}"
75+ # # Generate fingerprint AFTER setup but BEFORE any build modifications (the fingerprint now is fake we do not want the cached apk)
76+ # - name: Generate current fingerprint
77+ # id: generate-fingerprint
78+ # run: |
79+ # FINGERPRINT=$(yarn fingerprint:generate)
80+ # echo "fingerprint=$FINGERPRINT" >> "$GITHUB_OUTPUT"
81+ # echo "Current fingerprint: ${FINGERPRINT}"
8282
8383 - name : Determine target paths and Artifact Names
8484 id : determine-target-paths
@@ -102,26 +102,25 @@ jobs:
102102 exit 1
103103 fi
104104
105- - name : Check and restore cached APKs if Fingerprint is found
106- id : apk-cache-restore
107- uses : cirruslabs/cache@v4
108- with :
109- path : |
110- ${{ steps.determine-target-paths.outputs.apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.apk
111- ${{ steps.determine-target-paths.outputs.test-apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}-androidTest.apk
112- ${{ steps.determine-target-paths.outputs.aab-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.aab
113- # Include Gradle properties in key to force rebuild when properties change
114- # Keep the `hashFiles` call for Gradle config in-sync with these steps:
115- # - "Cache Gradle dependencies"
116- # - "Cache build artifacts"
117- key : android-apk-${{ inputs.build_type }}-${{ env.CACHE_GENERATION }}-${{ steps.generate-fingerprint.outputs.fingerprint }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
118- restore-keys : |
119- android-apk-${{ inputs.build_type }}-${{ env.CACHE_GENERATION }}-
120- android-apk-
105+ # - name: Check and restore cached APKs if Fingerprint is found
106+ # id: apk-cache-restore
107+ # uses: cirruslabs/cache@v4
108+ # with:
109+ # path: |
110+ # ${{ steps.determine-target-paths.outputs.apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.apk
111+ # ${{ steps.determine-target-paths.outputs.test-apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}-androidTest.apk
112+ # ${{ steps.determine-target-paths.outputs.aab-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.aab
113+ # # Include Gradle properties in key to force rebuild when properties change
114+ # # Keep the `hashFiles` call for Gradle config in-sync with these steps:
115+ # # - "Cache Gradle dependencies"
116+ # # - "Cache build artifacts"
117+ # key: android-apk-${{ inputs.build_type }}-${{ env.CACHE_GENERATION }}-${{ steps.generate-fingerprint.outputs.fingerprint }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
118+ # restore-keys: |
119+ # android-apk-${{ inputs.build_type }}-${{ env.CACHE_GENERATION }}-
120+ # android-apk-
121121
122122 - name : Cache Gradle dependencies
123123 uses : cirruslabs/cache@v4
124- if : ${{ steps.apk-cache-restore.outputs.cache-hit != 'true' }}
125124 env :
126125 GRADLE_CACHE_VERSION : 1
127126 with :
@@ -134,7 +133,6 @@ jobs:
134133 key : gradle-${{ env.GRADLE_CACHE_VERSION }}-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
135134
136135 - name : Build Android E2E APKs
137- if : ${{ steps.apk-cache-restore.outputs.cache-hit != 'true' }}
138136 run : |
139137 echo "🏗 Building Android E2E APKs..."
140138 export NODE_OPTIONS="--max-old-space-size=8192"
@@ -183,68 +181,68 @@ jobs:
183181 GOOGLE_SERVICES_B64_ANDROID : ${{ secrets.GOOGLE_SERVICES_B64_ANDROID }}
184182 MM_INFURA_PROJECT_ID : ${{ secrets.MM_INFURA_PROJECT_ID }}
185183
186- - name : Repack APK with JS updates using @expo/repack-app
187- if : ${{ steps.apk-cache-restore.outputs.cache-hit == 'true' }}
188- run : |
189- echo "📦 Repacking APK with updated JavaScript bundle using @expo/repack-app..."
190- # Use the optimized repack script which uses @expo/repack-app
191- yarn build:repack:android
192- echo "📦 Final APK size: $(du -h "${{ steps.determine-target-paths.outputs.apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.apk" | cut -f1)"
193- env :
194- PLATFORM : android
195- METAMASK_ENVIRONMENT : ${{ inputs.metamask_environment }}
196- METAMASK_BUILD_TYPE : ${{ inputs.build_type }}
197- IS_TEST : true
198- E2E : ' true'
199- IGNORE_BOXLOGS_DEVELOPMENT : true
200- GITHUB_CI : ' true'
201- CI : ' true'
202- NODE_OPTIONS : ' --max-old-space-size=8192'
203- BRIDGE_USE_DEV_APIS : ' true'
204- RAMP_INTERNAL_BUILD : ' true'
205- SEEDLESS_ONBOARDING_ENABLED : ' true'
206- MM_NOTIFICATIONS_UI_ENABLED : ' true'
207- MM_SECURITY_ALERTS_API_ENABLED : ' true'
208- MM_REMOVE_GLOBAL_NETWORK_SELECTOR : ' true'
209- FEATURES_ANNOUNCEMENTS_ACCESS_TOKEN : ${{ secrets.FEATURES_ANNOUNCEMENTS_ACCESS_TOKEN }}
210- FEATURES_ANNOUNCEMENTS_SPACE_ID : ${{ secrets.FEATURES_ANNOUNCEMENTS_SPACE_ID }}
211- SEGMENT_WRITE_KEY_QA : ${{ secrets.SEGMENT_WRITE_KEY_QA }}
212- SEGMENT_WRITE_KEY_FLASK : ${{ secrets.SEGMENT_WRITE_KEY_FLASK }}
213- SEGMENT_PROXY_URL_QA : ${{ secrets.SEGMENT_PROXY_URL_QA }}
214- SEGMENT_PROXY_URL_FLASK : ${{ secrets.SEGMENT_PROXY_URL_FLASK }}
215- SEGMENT_DELETE_API_SOURCE_ID_QA : ${{ secrets.SEGMENT_DELETE_API_SOURCE_ID_QA }}
216- SEGMENT_DELETE_API_SOURCE_ID_FLASK : ${{ secrets.SEGMENT_DELETE_API_SOURCE_ID_FLASK }}
217- SEGMENT_REGULATIONS_ENDPOINT_QA : ${{ secrets.SEGMENT_REGULATIONS_ENDPOINT_QA }}
218- SEGMENT_REGULATIONS_ENDPOINT_FLASK : ${{ secrets.SEGMENT_REGULATIONS_ENDPOINT_FLASK }}
219- MM_SENTRY_DSN_TEST : ${{ secrets.MM_SENTRY_DSN_TEST }}
220- MM_SENTRY_AUTH_TOKEN : ${{ secrets.MM_SENTRY_AUTH_TOKEN }}
221- MAIN_IOS_GOOGLE_CLIENT_ID_UAT : ${{ secrets.MAIN_IOS_GOOGLE_CLIENT_ID_UAT }}
222- FLASK_IOS_GOOGLE_CLIENT_ID_PROD : ${{ secrets.FLASK_IOS_GOOGLE_CLIENT_ID_PROD }}
223- MAIN_IOS_GOOGLE_REDIRECT_URI_UAT : ${{ secrets.MAIN_IOS_GOOGLE_REDIRECT_URI_UAT }}
224- FLASK_IOS_GOOGLE_REDIRECT_URI_PROD : ${{ secrets.FLASK_IOS_GOOGLE_REDIRECT_URI_PROD }}
225- MAIN_ANDROID_APPLE_CLIENT_ID_UAT : ${{ secrets.MAIN_ANDROID_APPLE_CLIENT_ID_UAT }}
226- FLASK_ANDROID_APPLE_CLIENT_ID_PROD : ${{ secrets.FLASK_ANDROID_APPLE_CLIENT_ID_PROD }}
227- MAIN_ANDROID_GOOGLE_CLIENT_ID_UAT : ${{ secrets.MAIN_ANDROID_GOOGLE_CLIENT_ID_UAT }}
228- FLASK_ANDROID_GOOGLE_CLIENT_ID_PROD : ${{ secrets.FLASK_ANDROID_GOOGLE_CLIENT_ID_PROD }}
229- MAIN_ANDROID_GOOGLE_SERVER_CLIENT_ID_UAT : ${{ secrets.MAIN_ANDROID_GOOGLE_SERVER_CLIENT_ID_UAT }}
230- FLASK_ANDROID_GOOGLE_SERVER_CLIENT_ID_PROD : ${{ secrets.FLASK_ANDROID_GOOGLE_SERVER_CLIENT_ID_PROD }}
231- GOOGLE_SERVICES_B64_IOS : ${{ secrets.GOOGLE_SERVICES_B64_IOS }}
232- GOOGLE_SERVICES_B64_ANDROID : ${{ secrets.GOOGLE_SERVICES_B64_ANDROID }}
233- MM_INFURA_PROJECT_ID : ${{ secrets.MM_INFURA_PROJECT_ID }}
184+ # - name: Repack APK with JS updates using @expo/repack-app
185+ # if: ${{ steps.apk-cache-restore.outputs.cache-hit == 'true' }}
186+ # run: |
187+ # echo "📦 Repacking APK with updated JavaScript bundle using @expo/repack-app..."
188+ # # Use the optimized repack script which uses @expo/repack-app
189+ # yarn build:repack:android
190+ # echo "📦 Final APK size: $(du -h "${{ steps.determine-target-paths.outputs.apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.apk" | cut -f1)"
191+ # env:
192+ # PLATFORM: android
193+ # METAMASK_ENVIRONMENT: ${{ inputs.metamask_environment }}
194+ # METAMASK_BUILD_TYPE: ${{ inputs.build_type }}
195+ # IS_TEST: true
196+ # E2E: 'true'
197+ # IGNORE_BOXLOGS_DEVELOPMENT: true
198+ # GITHUB_CI: 'true'
199+ # CI: 'true'
200+ # NODE_OPTIONS: '--max-old-space-size=8192'
201+ # BRIDGE_USE_DEV_APIS: 'true'
202+ # RAMP_INTERNAL_BUILD: 'true'
203+ # SEEDLESS_ONBOARDING_ENABLED: 'true'
204+ # MM_NOTIFICATIONS_UI_ENABLED: 'true'
205+ # MM_SECURITY_ALERTS_API_ENABLED: 'true'
206+ # MM_REMOVE_GLOBAL_NETWORK_SELECTOR: 'true'
207+ # FEATURES_ANNOUNCEMENTS_ACCESS_TOKEN: ${{ secrets.FEATURES_ANNOUNCEMENTS_ACCESS_TOKEN }}
208+ # FEATURES_ANNOUNCEMENTS_SPACE_ID: ${{ secrets.FEATURES_ANNOUNCEMENTS_SPACE_ID }}
209+ # SEGMENT_WRITE_KEY_QA: ${{ secrets.SEGMENT_WRITE_KEY_QA }}
210+ # SEGMENT_WRITE_KEY_FLASK: ${{ secrets.SEGMENT_WRITE_KEY_FLASK }}
211+ # SEGMENT_PROXY_URL_QA: ${{ secrets.SEGMENT_PROXY_URL_QA }}
212+ # SEGMENT_PROXY_URL_FLASK: ${{ secrets.SEGMENT_PROXY_URL_FLASK }}
213+ # SEGMENT_DELETE_API_SOURCE_ID_QA: ${{ secrets.SEGMENT_DELETE_API_SOURCE_ID_QA }}
214+ # SEGMENT_DELETE_API_SOURCE_ID_FLASK: ${{ secrets.SEGMENT_DELETE_API_SOURCE_ID_FLASK }}
215+ # SEGMENT_REGULATIONS_ENDPOINT_QA: ${{ secrets.SEGMENT_REGULATIONS_ENDPOINT_QA }}
216+ # SEGMENT_REGULATIONS_ENDPOINT_FLASK: ${{ secrets.SEGMENT_REGULATIONS_ENDPOINT_FLASK }}
217+ # MM_SENTRY_DSN_TEST: ${{ secrets.MM_SENTRY_DSN_TEST }}
218+ # MM_SENTRY_AUTH_TOKEN: ${{ secrets.MM_SENTRY_AUTH_TOKEN }}
219+ # MAIN_IOS_GOOGLE_CLIENT_ID_UAT: ${{ secrets.MAIN_IOS_GOOGLE_CLIENT_ID_UAT }}
220+ # FLASK_IOS_GOOGLE_CLIENT_ID_PROD: ${{ secrets.FLASK_IOS_GOOGLE_CLIENT_ID_PROD }}
221+ # MAIN_IOS_GOOGLE_REDIRECT_URI_UAT: ${{ secrets.MAIN_IOS_GOOGLE_REDIRECT_URI_UAT }}
222+ # FLASK_IOS_GOOGLE_REDIRECT_URI_PROD: ${{ secrets.FLASK_IOS_GOOGLE_REDIRECT_URI_PROD }}
223+ # MAIN_ANDROID_APPLE_CLIENT_ID_UAT: ${{ secrets.MAIN_ANDROID_APPLE_CLIENT_ID_UAT }}
224+ # FLASK_ANDROID_APPLE_CLIENT_ID_PROD: ${{ secrets.FLASK_ANDROID_APPLE_CLIENT_ID_PROD }}
225+ # MAIN_ANDROID_GOOGLE_CLIENT_ID_UAT: ${{ secrets.MAIN_ANDROID_GOOGLE_CLIENT_ID_UAT }}
226+ # FLASK_ANDROID_GOOGLE_CLIENT_ID_PROD: ${{ secrets.FLASK_ANDROID_GOOGLE_CLIENT_ID_PROD }}
227+ # MAIN_ANDROID_GOOGLE_SERVER_CLIENT_ID_UAT: ${{ secrets.MAIN_ANDROID_GOOGLE_SERVER_CLIENT_ID_UAT }}
228+ # FLASK_ANDROID_GOOGLE_SERVER_CLIENT_ID_PROD: ${{ secrets.FLASK_ANDROID_GOOGLE_SERVER_CLIENT_ID_PROD }}
229+ # GOOGLE_SERVICES_B64_IOS: ${{ secrets.GOOGLE_SERVICES_B64_IOS }}
230+ # GOOGLE_SERVICES_B64_ANDROID: ${{ secrets.GOOGLE_SERVICES_B64_ANDROID }}
231+ # MM_INFURA_PROJECT_ID: ${{ secrets.MM_INFURA_PROJECT_ID }}
234232
235233 # Cache build artifacts with the pre-build fingerprint
236- - name : Cache build artifacts
237- if : ${{ steps.apk-cache-restore.outputs.cache-hit != 'true' }}
238- uses : cirruslabs/cache@v4
239- with :
240- path : |
241- ${{ steps.determine-target-paths.outputs.apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.apk
242- ${{ steps.determine-target-paths.outputs.test-apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}-androidTest.apk
243- ${{ steps.determine-target-paths.outputs.aab-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.aab
244- # Keep the `hashFiles` call for Gradle config in-sync with these steps:
245- # - "Check and restore cached APKs if Fingerprint is found"
246- # - "Cache Gradle dependencies"
247- key : android-apk-${{ inputs.build_type }}-${{ env.CACHE_GENERATION }}-${{ steps.generate-fingerprint.outputs.fingerprint }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
234+ # - name: Cache build artifacts
235+ # if: ${{ steps.apk-cache-restore.outputs.cache-hit != 'true' }}
236+ # uses: cirruslabs/cache@v4
237+ # with:
238+ # path: |
239+ # ${{ steps.determine-target-paths.outputs.apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.apk
240+ # ${{ steps.determine-target-paths.outputs.test-apk-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}-androidTest.apk
241+ # ${{ steps.determine-target-paths.outputs.aab-target-path }}/${{ steps.determine-target-paths.outputs.artifact_name }}.aab
242+ # # Keep the `hashFiles` call for Gradle config in-sync with these steps:
243+ # # - "Check and restore cached APKs if Fingerprint is found"
244+ # # - "Cache Gradle dependencies"
245+ # key: android-apk-${{ inputs.build_type }}-${{ env.CACHE_GENERATION }}-${{ steps.generate-fingerprint.outputs.fingerprint }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
248246
249247 - name : Upload Android APK
250248 id : upload-apk
0 commit comments