7 changed files with 288 additions and 43 deletions
-
21.ci/scripts/android/eabuild.sh
-
21.ci/scripts/android/mainlinebuild.sh
-
66.github/workflows/android-ea-play-release.yml
-
59.github/workflows/android-mainline-play-release.yml
-
129.github/workflows/android-merge.js
-
4.github/workflows/android-publish.yml
-
31src/android/app/build.gradle.kts
@ -0,0 +1,21 @@ |
|||
#!/bin/bash -ex |
|||
|
|||
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project |
|||
# SPDX-License-Identifier: GPL-3.0-or-later |
|||
|
|||
export NDK_CCACHE="$(which ccache)" |
|||
ccache -s |
|||
|
|||
export ANDROID_KEYSTORE_FILE="${GITHUB_WORKSPACE}/ks.jks" |
|||
base64 --decode <<< "${EA_PLAY_ANDROID_KEYSTORE_B64}" > "${ANDROID_KEYSTORE_FILE}" |
|||
export ANDROID_KEY_ALIAS="${PLAY_ANDROID_KEY_ALIAS}" |
|||
export ANDROID_KEYSTORE_PASS="${PLAY_ANDROID_KEYSTORE_PASS}" |
|||
export SERVICE_ACCOUNT_KEY_PATH="${GITHUB_WORKSPACE}/sa.json" |
|||
base64 --decode <<< "${EA_SERVICE_ACCOUNT_KEY_B64}" > "${SERVICE_ACCOUNT_KEY_PATH}" |
|||
./gradlew "publishEaReleaseBundle" |
|||
|
|||
ccache -s |
|||
|
|||
if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then |
|||
rm "${ANDROID_KEYSTORE_FILE}" |
|||
fi |
|||
@ -0,0 +1,21 @@ |
|||
#!/bin/bash -ex |
|||
|
|||
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project |
|||
# SPDX-License-Identifier: GPL-3.0-or-later |
|||
|
|||
export NDK_CCACHE="$(which ccache)" |
|||
ccache -s |
|||
|
|||
export ANDROID_KEYSTORE_FILE="${GITHUB_WORKSPACE}/ks.jks" |
|||
base64 --decode <<< "${MAINLINE_PLAY_ANDROID_KEYSTORE_B64}" > "${ANDROID_KEYSTORE_FILE}" |
|||
export ANDROID_KEY_ALIAS="${PLAY_ANDROID_KEY_ALIAS}" |
|||
export ANDROID_KEYSTORE_PASS="${PLAY_ANDROID_KEYSTORE_PASS}" |
|||
export SERVICE_ACCOUNT_KEY_PATH="${GITHUB_WORKSPACE}/sa.json" |
|||
base64 --decode <<< "${MAINLINE_SERVICE_ACCOUNT_KEY_B64}" > "${SERVICE_ACCOUNT_KEY_PATH}" |
|||
./gradlew "publishMainlineReleaseBundle" |
|||
|
|||
ccache -s |
|||
|
|||
if [ ! -z "${ANDROID_KEYSTORE_B64}" ]; then |
|||
rm "${ANDROID_KEYSTORE_FILE}" |
|||
fi |
|||
@ -0,0 +1,66 @@ |
|||
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project |
|||
# SPDX-License-Identifier: GPL-2.0-or-later |
|||
|
|||
name: yuzu-android-ea-play-release |
|||
|
|||
on: |
|||
workflow_dispatch: |
|||
inputs: |
|||
release-track: |
|||
description: 'Play store release track (internal/alpha/beta/production)' |
|||
required: true |
|||
default: 'alpha' |
|||
|
|||
jobs: |
|||
android: |
|||
runs-on: ubuntu-latest |
|||
if: ${{ github.repository == 'yuzu-emu/yuzu' }} |
|||
steps: |
|||
- uses: actions/checkout@v3 |
|||
name: Checkout |
|||
with: |
|||
fetch-depth: 0 |
|||
submodules: true |
|||
token: ${{ secrets.ALT_GITHUB_TOKEN }} |
|||
- run: npm install execa@5 |
|||
- uses: actions/github-script@v5 |
|||
name: 'Merge and publish Android EA changes' |
|||
env: |
|||
ALT_GITHUB_TOKEN: ${{ secrets.ALT_GITHUB_TOKEN }} |
|||
BUILD_EA: true |
|||
with: |
|||
script: | |
|||
const execa = require("execa"); |
|||
const mergebot = require('./.github/workflows/android-merge.js').mergebot; |
|||
process.chdir('${{ github.workspace }}'); |
|||
mergebot(github, context, execa); |
|||
- name: Get tag name |
|||
run: echo "GIT_TAG_NAME=$(cat tag-name.txt)" >> $GITHUB_ENV |
|||
- name: Set up JDK 17 |
|||
uses: actions/setup-java@v3 |
|||
with: |
|||
java-version: '17' |
|||
distribution: 'temurin' |
|||
- name: Install dependencies |
|||
run: | |
|||
sudo apt-get update |
|||
sudo apt-get install -y ccache apksigner glslang-dev glslang-tools |
|||
- name: Build |
|||
run: ./.ci/scripts/android/eabuild.sh |
|||
env: |
|||
EA_PLAY_ANDROID_KEYSTORE_B64: ${{ secrets.PLAY_ANDROID_KEYSTORE_B64 }} |
|||
PLAY_ANDROID_KEY_ALIAS: ${{ secrets.PLAY_ANDROID_KEY_ALIAS }} |
|||
PLAY_ANDROID_KEYSTORE_PASS: ${{ secrets.PLAY_ANDROID_KEYSTORE_PASS }} |
|||
EA_SERVICE_ACCOUNT_KEY_B64: ${{ secrets.EA_SERVICE_ACCOUNT_KEY_B64 }} |
|||
STORE_TRACK: ${{ github.event.inputs.release-track }} |
|||
AUTO_VERSIONED: true |
|||
BUILD_EA: true |
|||
- name: Create release |
|||
uses: softprops/action-gh-release@v1 |
|||
with: |
|||
tag_name: ${{ env.EA_TAG_NAME }} |
|||
name: ${{ env.EA_TAG_NAME }} |
|||
draft: false |
|||
prerelease: false |
|||
repository: yuzu/yuzu-android |
|||
token: ${{ secrets.ALT_GITHUB_TOKEN }} |
|||
@ -0,0 +1,59 @@ |
|||
# SPDX-FileCopyrightText: 2024 yuzu Emulator Project |
|||
# SPDX-License-Identifier: GPL-2.0-or-later |
|||
|
|||
name: yuzu-android-mainline-play-release |
|||
|
|||
on: |
|||
workflow_dispatch: |
|||
inputs: |
|||
release-tag: |
|||
description: 'Tag # from yuzu-android that you want to build and publish' |
|||
required: true |
|||
default: '200' |
|||
release-track: |
|||
description: 'Play store release track (internal/alpha/beta/production)' |
|||
required: true |
|||
default: 'alpha' |
|||
|
|||
jobs: |
|||
android: |
|||
runs-on: ubuntu-latest |
|||
if: ${{ github.repository == 'yuzu-emu/yuzu' }} |
|||
steps: |
|||
- uses: actions/checkout@v3 |
|||
name: Checkout |
|||
with: |
|||
fetch-depth: 0 |
|||
submodules: true |
|||
token: ${{ secrets.ALT_GITHUB_TOKEN }} |
|||
- run: npm install execa@5 |
|||
- uses: actions/github-script@v5 |
|||
name: 'Pull mainline tag' |
|||
env: |
|||
MAINLINE_TAG: ${{ github.event.inputs.release-tag }} |
|||
with: |
|||
script: | |
|||
const execa = require("execa"); |
|||
const mergebot = require('./.github/workflows/android-merge.js').getMainlineTag; |
|||
process.chdir('${{ github.workspace }}'); |
|||
mergebot(execa); |
|||
- name: Set up JDK 17 |
|||
uses: actions/setup-java@v3 |
|||
with: |
|||
java-version: '17' |
|||
distribution: 'temurin' |
|||
- name: Install dependencies |
|||
run: | |
|||
sudo apt-get update |
|||
sudo apt-get install -y ccache apksigner glslang-dev glslang-tools |
|||
- name: Build |
|||
run: | |
|||
echo "GIT_TAG_NAME=android-${{ github.event.inputs.releast-tag }}" >> $GITHUB_ENV |
|||
./.ci/scripts/android/mainlinebuild.sh |
|||
env: |
|||
MAINLINE_PLAY_ANDROID_KEYSTORE_B64: ${{ secrets.PLAY_ANDROID_KEYSTORE_B64 }} |
|||
PLAY_ANDROID_KEY_ALIAS: ${{ secrets.PLAY_ANDROID_KEY_ALIAS }} |
|||
PLAY_ANDROID_KEYSTORE_PASS: ${{ secrets.PLAY_ANDROID_KEYSTORE_PASS }} |
|||
SERVICE_ACCOUNT_KEY_B64: ${{ secrets.MAINLINE_SERVICE_ACCOUNT_KEY_B64 }} |
|||
STORE_TRACK: ${{ github.event.inputs.release-track }} |
|||
AUTO_VERSIONED: true |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue