Files
materialious/.github/workflows/prod-android.yml
T
2024-05-05 20:04:59 +12:00

56 lines
1.5 KiB
YAML

name: Build Android
on:
push:
branches:
- main
jobs:
build:
name: Build APK
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./materialious
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Setup java
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '17'
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install app dependencies
run: npm install
- name: Build Svelte app
run: npm run build
- name: Capacitor sync
run: npx cap sync
- name: Build APK
run: cd android && ./gradlew assembleRelease
- name: Sign APK
run: |
echo "${{ secrets.RELEASE_KEYSTORE }}" > android/release.jks.base64
base64 -d android/release.jks.base64 > android/release.decrypted.jks
jarsigner -keystore android/release.decrypted.jks -storepass "${{ secrets.RELEASE_KEYSTORE_PASSWORD }}" -signedjar ./android/app/build/outputs/apk/release/app-release-signed.apk ./android/app/build/outputs/apk/release/app-release-unsigned.apk release
- name: Upload APK to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ./materialious/android/app/build/outputs/apk/release/app-release-signed.apk
overwrite: true
file_glob: true