@@ -138,10 +138,63 @@ jobs:
138138 path : " client/build/app/outputs/bundle/release/app-release.aab"
139139 retention-days : 2
140140
141+ build-android-apk :
142+ runs-on : [self-hosted, macOS]
143+ env :
144+ ANDROID_HOME : /Users/admin/Library/Android/sdk
145+ ANDROID_SDK_ROOT : /Users/admin/Library/Android/sdk
146+ defaults :
147+ run :
148+ working-directory : ./client
149+ steps :
150+ - uses : actions/checkout@v4
151+
152+ - name : Set up Java
153+ uses : actions/setup-java@v3
154+ with :
155+ distribution : " temurin"
156+ java-version : " 17"
157+
158+ - name : Setup flutter
159+ uses : subosito/flutter-action@v2
160+ with :
161+ channel : stable
162+ flutter-version : 3.32.7
163+
164+ - name : Install Android SDK components
165+ run : |
166+ $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install 'build-tools;29.0.3'
167+ - name : Accept licenses
168+ run : yes | flutter doctor --android-licenses
169+
170+ - name : Clean flutter
171+ run : flutter clean
172+
173+ - name : Install deps
174+ run : flutter pub get
175+
176+ - name : Build Android APK
177+ run : flutter build apk --release --build-number=${{ github.run_number }}
178+
179+ - name : Sign APK
180+ uses : r0adkll/sign-android-release@v1
181+ with :
182+ releaseDirectory : client/build/app/outputs/flutter-apk
183+ signingKeyBase64 : " ${{ secrets.ANDROID_SIGNING_KEY_BASE64 }}"
184+ alias : " ${{ secrets.ANDROID_SIGNING_KEY_ALIAS }}"
185+ keyStorePassword : " ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
186+ keyPassword : " ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}"
187+
188+ - name : Upload Android Artifact
189+ uses : actions/upload-artifact@v4
190+ if : startsWith(github.ref, 'refs/tags/')
191+ with :
192+ name : android-app-apk
193+ path : " client/build/app/outputs/flutter-apk/app-release.apk"
194+ retention-days : 2
195+
141196 release :
142- needs : [build-ios, build-android]
197+ needs : [build-ios, build-android, build-android-apk ]
143198 # Create release only if CI was triggered by a tag.
144199 if : startsWith(github.ref, 'refs/tags/')
145200 uses : ./.github/workflows/release.yaml
146- secrets :
147- PRIVATE_REPO_CLONING_TOKEN : ${{ secrets.PRIVATE_REPO_CLONING_TOKEN }}
0 commit comments