56 lines
1.5 KiB
YAML
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
|