mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-03 19:17:11 -05: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
 | 
				
			||||||
@ -57,20 +57,21 @@ android {
 | 
				
			|||||||
        versionName flutterVersionName
 | 
					        versionName flutterVersionName
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   signingConfigs {
 | 
					  //  signingConfigs {
 | 
				
			||||||
       release {
 | 
					  //      release {
 | 
				
			||||||
           keyAlias keystoreProperties['keyAlias']
 | 
					  //          keyAlias keystoreProperties['keyAlias']
 | 
				
			||||||
           keyPassword keystoreProperties['keyPassword']
 | 
					  //          keyPassword keystoreProperties['keyPassword']
 | 
				
			||||||
           storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
 | 
					  //          storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
 | 
				
			||||||
           storePassword keystoreProperties['storePassword']
 | 
					  //          storePassword keystoreProperties['storePassword']
 | 
				
			||||||
       }
 | 
					  //      }
 | 
				
			||||||
   }
 | 
					  //  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    buildTypes {
 | 
					    buildTypes {
 | 
				
			||||||
        release {
 | 
					        release {
 | 
				
			||||||
            // TODO: Add your own signing config for the release build.
 | 
					            // TODO: Add your own signing config for the release build.
 | 
				
			||||||
            // Signing with the debug keys for now, so `flutter run --release` works.
 | 
					            // 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