From 34df2490f533600e3d6dd2d7a2a78cf0beed48f9 Mon Sep 17 00:00:00 2001 From: KoheiYamashita Date: Fri, 20 Feb 2026 07:40:07 +0900 Subject: [PATCH] ci: add Android release build to GitHub Actions Add android-build.yml for CI builds on push/PR, and add an android job to release.yml to attach versioned APKs to GitHub Releases. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/android-build.yml | 56 ++++++++++++++++++++++++++++ .github/workflows/release.yml | 57 +++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 .github/workflows/android-build.yml diff --git a/.github/workflows/android-build.yml b/.github/workflows/android-build.yml new file mode 100644 index 000000000..2b7783b16 --- /dev/null +++ b/.github/workflows/android-build.yml @@ -0,0 +1,56 @@ +name: Android Build + +on: + push: + branches: ["main"] + paths: ["android/**"] + pull_request: + paths: ["android/**"] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + defaults: + run: + working-directory: android + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Decode keystore + env: + KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} + run: | + echo "$KEYSTORE_BASE64" | base64 -d > release.keystore + + - name: Create keystore.properties + env: + STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }} + KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} + KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} + run: | + cat > keystore.properties < release.keystore + + - name: Create keystore.properties + env: + STORE_PASSWORD: ${{ secrets.ANDROID_STORE_PASSWORD }} + KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} + KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} + run: | + cat > keystore.properties <