CI: add Android build systems
This commit is contained in:
		
							
								
								
									
										12
									
								
								.ci/scripts/android/build.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								.ci/scripts/android/build.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | #!/bin/bash -ex | ||||||
|  |  | ||||||
|  | export NDK_CCACHE="$(which ccache)" | ||||||
|  | ccache -s | ||||||
|  |  | ||||||
|  | BUILD_FLAVOR=mainline | ||||||
|  |  | ||||||
|  | cd src/android | ||||||
|  | chmod +x ./gradlew | ||||||
|  | ./gradlew "assemble${BUILD_FLAVOR}Release" "bundle${BUILD_FLAVOR}Release" | ||||||
|  |  | ||||||
|  | ccache -s | ||||||
							
								
								
									
										24
									
								
								.ci/scripts/android/upload.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								.ci/scripts/android/upload.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,24 @@ | |||||||
|  | #!/bin/bash -ex | ||||||
|  |  | ||||||
|  | . ./.ci/scripts/common/pre-upload.sh | ||||||
|  |  | ||||||
|  | REV_NAME="yuzu-${GITDATE}-${GITREV}" | ||||||
|  |  | ||||||
|  | BUILD_FLAVOR=mainline | ||||||
|  |  | ||||||
|  | cp src/android/app/build/outputs/apk/"${BUILD_FLAVOR}/release/app-${BUILD_FLAVOR}-release.apk" \ | ||||||
|  |   "artifacts/${REV_NAME}.apk" | ||||||
|  | cp src/android/app/build/outputs/bundle/"${BUILD_FLAVOR}Release"/"app-${BUILD_FLAVOR}-release.aab" \ | ||||||
|  |   "artifacts/${REV_NAME}.aab" | ||||||
|  |  | ||||||
|  | if [ -n "${ANDROID_KEYSTORE_B64}" ] | ||||||
|  | then | ||||||
|  |   echo "Signing apk..." | ||||||
|  |   base64 --decode <<< "${ANDROID_KEYSTORE_B64}" > ks.jks | ||||||
|  |  | ||||||
|  |   apksigner sign --ks ks.jks \ | ||||||
|  |     --ks-key-alias "${ANDROID_KEY_ALIAS}" \ | ||||||
|  |     --ks-pass env:ANDROID_KEYSTORE_PASS "artifacts/${REV_NAME}.apk" | ||||||
|  | else | ||||||
|  |   echo "No keystore specified, not signing the APK files." | ||||||
|  | fi | ||||||
							
								
								
									
										38
									
								
								.github/workflows/verify.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								.github/workflows/verify.yml
									
									
									
									
										vendored
									
									
								
							| @@ -122,3 +122,41 @@ jobs: | |||||||
|         with: |         with: | ||||||
|           name: ${{ env.INDIVIDUAL_EXE }} |           name: ${{ env.INDIVIDUAL_EXE }} | ||||||
|           path: ${{ env.INDIVIDUAL_EXE }} |           path: ${{ env.INDIVIDUAL_EXE }} | ||||||
|  |   android: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     needs: format | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  |         with: | ||||||
|  |           submodules: recursive | ||||||
|  |       - name: Set up cache | ||||||
|  |         uses: actions/cache@v3 | ||||||
|  |         with: | ||||||
|  |           path: | | ||||||
|  |             ~/.gradle/caches | ||||||
|  |             ~/.gradle/wrapper | ||||||
|  |             ~/.ccache | ||||||
|  |           key: ${{ runner.os }}-android-${{ github.sha }} | ||||||
|  |           restore-keys: | | ||||||
|  |             ${{ runner.os }}-android- | ||||||
|  |       - name: Query tag name | ||||||
|  |         uses: little-core-labs/get-git-tag@v3.0.2 | ||||||
|  |         id: tagName | ||||||
|  |       - name: Install dependencies | ||||||
|  |         run: | | ||||||
|  |           sudo apt-get update | ||||||
|  |           sudo apt-get install -y ccache apksigner glslang-dev glslang-tools | ||||||
|  |           git -C ./externals/vcpkg/ fetch --all --unshallow | ||||||
|  |       - name: Build | ||||||
|  |         run: ./.ci/scripts/android/build.sh | ||||||
|  |       - name: Copy and sign artifacts | ||||||
|  |         env: | ||||||
|  |           ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }} | ||||||
|  |           ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} | ||||||
|  |           ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }} | ||||||
|  |         run: ./.ci/scripts/android/upload.sh | ||||||
|  |       - name: Upload | ||||||
|  |         uses: actions/upload-artifact@v3 | ||||||
|  |         with: | ||||||
|  |           name: android | ||||||
|  |           path: artifacts/ | ||||||
|   | |||||||
							
								
								
									
										0
									
								
								src/android/gradlew
									
									
									
									
										vendored
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								src/android/gradlew
									
									
									
									
										vendored
									
									
										
										
										Normal file → Executable file
									
								
							
		Reference in New Issue
	
	Block a user