Skip to content

⬆️ Svelte 5

⬆️ Svelte 5 #413

Workflow file for this run

name: Android CI
on:
push:
branches: main
tags: v*
pull_request:
branches: main
jobs:
build_android:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
cache: gradle
- uses: pnpm/action-setup@v4
with:
version: latest
- uses: actions/setup-node@v4
with:
node-version: 23
cache: pnpm
- run: pnpm install
- name: Secrets
run: |
echo 'keyAlias=${{ secrets.KEY_ALIAS }}' >> android/key.properties
echo 'keyPassword=${{ secrets.KEY_PASSWORD }}' >> android/key.properties
echo 'storePassword=${{ secrets.STORE_PASSWORD }}' >> android/key.properties
echo 'storeFile=${{ vars.STORE_FILE }}' >> android/key.properties
echo '${{ secrets.KEY_STORE }}' | base64 --decode > android/app/${{ vars.STORE_FILE }}
- name: Android SDK
run: (yes || true) | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --install "build-tools;33.0.2" "platforms;android-33"
- run: pnpm run build:apk
- name: Sign
if: github.actor != 'nektos/act' && github.actor != 'dependabot[bot]' && (github.ref_type == 'tag' || github.ref_name == 'main')
run: |
eval `ssh-agent -s`
ssh-add - <<< '${{ secrets.SIGNING_KEY_PRIVATE }}'
echo '${{ vars.SIGNING_KEY_PUBLIC }}' > '${{ runner.temp }}/SIGNING_KEY_PUBLIC.pub'
ssh-keygen -Y sign -f '${{ runner.temp }}/SIGNING_KEY_PUBLIC.pub' -n file android/app/build/outputs/apk/release/app-release.apk
ssh-keygen -Y verify -f ./.github/authorized_keys -I '41898282+github-actions[bot]@users.noreply.github.com' -n file -s android/app/build/outputs/apk/release/app-release.apk.sig < android/app/build/outputs/apk/release/app-release.apk
- uses: actions/upload-artifact@v4
if: github.ref_name == 'main' && github.actor != 'nektos/act'
with:
name: app-release
path: |
android/app/build/outputs/apk/release/app-release.apk
android/app/build/outputs/apk/release/app-release.apk.sig
if-no-files-found: error
- run: |
gh release upload ${{ github.ref_name }} \
'android/app/build/outputs/apk/release/app-release.apk#leanish-${{ github.ref_name }}.apk' \
'android/app/build/outputs/apk/release/app-release.apk.sig#leanish-${{ github.ref_name }}.apk.sig'
if: github.ref_type == 'tag' && github.actor != 'nektos/act'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}