mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 10:37:11 -04:00 
			
		
		
		
	chore(mobile): Build and sign APK in GitHub Action (#1471)
* chore(mobile): Build and sign APK in GitHUb Action * fix-1: working directory * fix-2: working directory * fix-3: key ALIAS * fix-4: build apk * fix-5: naming
This commit is contained in:
		
							parent
							
								
									00630bd4a3
								
							
						
					
					
						commit
						1a640609c7
					
				
							
								
								
									
										55
									
								
								.github/workflows/build-mobile.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								.github/workflows/build-mobile.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | ||||
| name: Build Mobile | ||||
| 
 | ||||
| on: | ||||
|   workflow_dispatch: | ||||
|   pull_request: | ||||
|   push: | ||||
|     branches: [main] | ||||
| 
 | ||||
| 
 | ||||
| jobs: | ||||
|   build-sign-android: | ||||
|     name: Build and sign Android | ||||
|     runs-on: ubuntu-latest | ||||
|      | ||||
|     steps: | ||||
|       - uses: actions/checkout@v2 | ||||
| 
 | ||||
|       - uses: actions/setup-java@v3 | ||||
|         with: | ||||
|           distribution: 'zulu' | ||||
|           java-version: "12.x" | ||||
|           cache: 'gradle'  | ||||
| 
 | ||||
|       - name: Setup Flutter SDK | ||||
|         uses: subosito/flutter-action@v2 | ||||
|         with: | ||||
|           channel: 'stable' | ||||
|           flutter-version: '3.3.10' | ||||
|           cache: true | ||||
| 
 | ||||
|       - name: Create the Keystore | ||||
|          | ||||
|         env: | ||||
|           KEYSTORE_BASE64: ${{ secrets.ANDROID_SIGN_KEY_CONTENT }} | ||||
|         run: | | ||||
|           # import keystore from secrets | ||||
|           echo $KEYSTORE_BASE64 | base64 -d > $RUNNER_TEMP/my_production.keystore | ||||
| 
 | ||||
|       - name: Restore packages | ||||
|         working-directory: ./mobile | ||||
|         run: flutter pub get | ||||
| 
 | ||||
|       - name: Build Android App Bundle | ||||
|         working-directory: ./mobile | ||||
|         run: flutter build apk --release | ||||
| 
 | ||||
|       - name: Sign Android App Bundle | ||||
|         working-directory: ./mobile | ||||
|         run: jarsigner -keystore $RUNNER_TEMP/my_production.keystore -storepass ${{ secrets.ANDROID_KEY_PASSWORD }} -keypass ${{ secrets.ANDROID_STORE_PASSWORD }} -sigalg SHA256withRSA -digestalg SHA-256 -signedjar build/app/outputs/apk/release/app-release-signed.apk build/app/outputs/apk/release/*.apk ${{ secrets.ALIAS }} | ||||
| 
 | ||||
|       - name: Publish Android Artifact | ||||
|         uses: actions/upload-artifact@v1 | ||||
|         with: | ||||
|           name: release-apk-signed | ||||
|           path: mobile/build/app/outputs/apk/release/app-release-signed.apk | ||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -8,4 +8,4 @@ uploads | ||||
| coverage | ||||
| 
 | ||||
| mobile/gradle.properties | ||||
| mobile/openapi/pubspec.lock | ||||
| mobile/openapi/pubspec.lock | ||||
| @ -57,20 +57,21 @@ android { | ||||
|         versionName flutterVersionName | ||||
|     } | ||||
| 
 | ||||
|    signingConfigs { | ||||
|        release { | ||||
|            keyAlias keystoreProperties['keyAlias'] | ||||
|            keyPassword keystoreProperties['keyPassword'] | ||||
|            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null | ||||
|            storePassword keystoreProperties['storePassword'] | ||||
|        } | ||||
|    } | ||||
|   //  signingConfigs { | ||||
|   //      release { | ||||
|   //          keyAlias keystoreProperties['keyAlias'] | ||||
|   //          keyPassword keystoreProperties['keyPassword'] | ||||
|   //          storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null | ||||
|   //          storePassword keystoreProperties['storePassword'] | ||||
|   //      } | ||||
|   //  } | ||||
| 
 | ||||
|     buildTypes { | ||||
|         release { | ||||
|             // TODO: Add your own signing config for the release build. | ||||
|             // Signing with the debug keys for now, so `flutter run --release` works. | ||||
|             signingConfig signingConfigs.release | ||||
|             // signingConfig signingConfigs.release | ||||
|             signingConfig null | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user