summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar liushuyu2023-03-03 22:38:56 -0700
committerGravatar bunnei2023-06-03 00:05:33 -0700
commit1d0329a065f627de17c97ff5224dfc90504b83f8 (patch)
tree78028f74a5302ead3364f5c1d9a15a1a83eadc10
parentandroid: build.gradle: Cleanup build types. (diff)
downloadyuzu-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.sh12
-rwxr-xr-x.ci/scripts/android/upload.sh24
-rw-r--r--.github/workflows/verify.yml38
-rwxr-xr-x[-rw-r--r--]src/android/gradlew0
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
3export NDK_CCACHE="$(which ccache)"
4ccache -s
5
6BUILD_FLAVOR=mainline
7
8cd src/android
9chmod +x ./gradlew
10./gradlew "assemble${BUILD_FLAVOR}Release" "bundle${BUILD_FLAVOR}Release"
11
12ccache -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
5REV_NAME="yuzu-${GITDATE}-${GITREV}"
6
7BUILD_FLAVOR=mainline
8
9cp src/android/app/build/outputs/apk/"${BUILD_FLAVOR}/release/app-${BUILD_FLAVOR}-release.apk" \
10 "artifacts/${REV_NAME}.apk"
11cp src/android/app/build/outputs/bundle/"${BUILD_FLAVOR}Release"/"app-${BUILD_FLAVOR}-release.aab" \
12 "artifacts/${REV_NAME}.aab"
13
14if [ -n "${ANDROID_KEYSTORE_B64}" ]
15then
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"
22else
23 echo "No keystore specified, not signing the APK files."
24fi
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