CI: add Android build systems
This commit is contained in:
parent
26ee6844c2
commit
1d0329a065
4 changed files with 74 additions and 0 deletions
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
Loading…
Reference in a new issue