diff options
| author | 2023-03-03 22:38:56 -0700 | |
|---|---|---|
| committer | 2023-06-03 00:05:33 -0700 | |
| commit | 1d0329a065f627de17c97ff5224dfc90504b83f8 (patch) | |
| tree | 78028f74a5302ead3364f5c1d9a15a1a83eadc10 | |
| parent | android: build.gradle: Cleanup build types. (diff) | |
| download | yuzu-1d0329a065f627de17c97ff5224dfc90504b83f8.tar.gz yuzu-1d0329a065f627de17c97ff5224dfc90504b83f8.tar.xz yuzu-1d0329a065f627de17c97ff5224dfc90504b83f8.zip | |
CI: add Android build systems
Diffstat (limited to '')
| -rwxr-xr-x | .ci/scripts/android/build.sh | 12 | ||||
| -rwxr-xr-x | .ci/scripts/android/upload.sh | 24 | ||||
| -rw-r--r-- | .github/workflows/verify.yml | 38 | ||||
| -rwxr-xr-x[-rw-r--r--] | src/android/gradlew | 0 |
4 files changed, 74 insertions, 0 deletions
diff --git a/.ci/scripts/android/build.sh b/.ci/scripts/android/build.sh new file mode 100755 index 000000000..1d669919c --- /dev/null +++ b/.ci/scripts/android/build.sh | |||
| @@ -0,0 +1,12 @@ | |||
| 1 | #!/bin/bash -ex | ||
| 2 | |||
| 3 | export NDK_CCACHE="$(which ccache)" | ||
| 4 | ccache -s | ||
| 5 | |||
| 6 | BUILD_FLAVOR=mainline | ||
| 7 | |||
| 8 | cd src/android | ||
| 9 | chmod +x ./gradlew | ||
| 10 | ./gradlew "assemble${BUILD_FLAVOR}Release" "bundle${BUILD_FLAVOR}Release" | ||
| 11 | |||
| 12 | ccache -s | ||
diff --git a/.ci/scripts/android/upload.sh b/.ci/scripts/android/upload.sh new file mode 100755 index 000000000..269684178 --- /dev/null +++ b/.ci/scripts/android/upload.sh | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | #!/bin/bash -ex | ||
| 2 | |||
| 3 | . ./.ci/scripts/common/pre-upload.sh | ||
| 4 | |||
| 5 | REV_NAME="yuzu-${GITDATE}-${GITREV}" | ||
| 6 | |||
| 7 | BUILD_FLAVOR=mainline | ||
| 8 | |||
| 9 | cp src/android/app/build/outputs/apk/"${BUILD_FLAVOR}/release/app-${BUILD_FLAVOR}-release.apk" \ | ||
| 10 | "artifacts/${REV_NAME}.apk" | ||
| 11 | cp src/android/app/build/outputs/bundle/"${BUILD_FLAVOR}Release"/"app-${BUILD_FLAVOR}-release.aab" \ | ||
| 12 | "artifacts/${REV_NAME}.aab" | ||
| 13 | |||
| 14 | if [ -n "${ANDROID_KEYSTORE_B64}" ] | ||
| 15 | then | ||
| 16 | echo "Signing apk..." | ||
| 17 | base64 --decode <<< "${ANDROID_KEYSTORE_B64}" > ks.jks | ||
| 18 | |||
| 19 | apksigner sign --ks ks.jks \ | ||
| 20 | --ks-key-alias "${ANDROID_KEY_ALIAS}" \ | ||
| 21 | --ks-pass env:ANDROID_KEYSTORE_PASS "artifacts/${REV_NAME}.apk" | ||
| 22 | else | ||
| 23 | echo "No keystore specified, not signing the APK files." | ||
| 24 | fi | ||
diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml index 7cde8380b..c65e0bc5b 100644 --- a/.github/workflows/verify.yml +++ b/.github/workflows/verify.yml | |||
| @@ -122,3 +122,41 @@ jobs: | |||
| 122 | with: | 122 | with: |
| 123 | name: ${{ env.INDIVIDUAL_EXE }} | 123 | name: ${{ env.INDIVIDUAL_EXE }} |
| 124 | path: ${{ env.INDIVIDUAL_EXE }} | 124 | path: ${{ env.INDIVIDUAL_EXE }} |
| 125 | android: | ||
| 126 | runs-on: ubuntu-latest | ||
| 127 | needs: format | ||
| 128 | steps: | ||
| 129 | - uses: actions/checkout@v3 | ||
| 130 | with: | ||
| 131 | submodules: recursive | ||
| 132 | - name: Set up cache | ||
| 133 | uses: actions/cache@v3 | ||
| 134 | with: | ||
| 135 | path: | | ||
| 136 | ~/.gradle/caches | ||
| 137 | ~/.gradle/wrapper | ||
| 138 | ~/.ccache | ||
| 139 | key: ${{ runner.os }}-android-${{ github.sha }} | ||
| 140 | restore-keys: | | ||
| 141 | ${{ runner.os }}-android- | ||
| 142 | - name: Query tag name | ||
| 143 | uses: little-core-labs/get-git-tag@v3.0.2 | ||
| 144 | id: tagName | ||
| 145 | - name: Install dependencies | ||
| 146 | run: | | ||
| 147 | sudo apt-get update | ||
| 148 | sudo apt-get install -y ccache apksigner glslang-dev glslang-tools | ||
| 149 | git -C ./externals/vcpkg/ fetch --all --unshallow | ||
| 150 | - name: Build | ||
| 151 | run: ./.ci/scripts/android/build.sh | ||
| 152 | - name: Copy and sign artifacts | ||
| 153 | env: | ||
| 154 | ANDROID_KEYSTORE_B64: ${{ secrets.ANDROID_KEYSTORE_B64 }} | ||
| 155 | ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} | ||
| 156 | ANDROID_KEYSTORE_PASS: ${{ secrets.ANDROID_KEYSTORE_PASS }} | ||
| 157 | run: ./.ci/scripts/android/upload.sh | ||
| 158 | - name: Upload | ||
| 159 | uses: actions/upload-artifact@v3 | ||
| 160 | with: | ||
| 161 | name: android | ||
| 162 | path: artifacts/ | ||
diff --git a/src/android/gradlew b/src/android/gradlew index cccdd3d51..cccdd3d51 100644..100755 --- a/src/android/gradlew +++ b/src/android/gradlew | |||