57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
name: Android CI FOSS
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Set Swap Space
|
|
uses: pierotofy/set-swap-space@master
|
|
with:
|
|
swap-size-gb: 10
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: set up JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
java-version: '21'
|
|
distribution: 'adopt'
|
|
java-package: 'jdk'
|
|
cache: gradle
|
|
|
|
- name: Set up Keystore
|
|
run: |
|
|
sudo apt update -y || true
|
|
sudo apt install -y --no-install-recommends coreutils
|
|
mkdir -p $RUNNER_TEMP/keystores
|
|
echo "${{ secrets.SIGNING_KEY }}" | base64 --decode > $RUNNER_TEMP/keystores/keystore.jks
|
|
|
|
- name: Build FOSS APKs
|
|
run: bash ./gradlew assembleFossRelease
|
|
|
|
- name: Sign FOSS APKs
|
|
run: |
|
|
ANDROID_SDK_PATH=$ANDROID_HOME/build-tools/35.0.0/apksigner
|
|
for apk in app/build/outputs/apk/foss/release/*.apk; do
|
|
$ANDROID_SDK_PATH sign \
|
|
--ks $RUNNER_TEMP/keystores/keystore.jks \
|
|
--ks-key-alias ${{ secrets.ALIAS }} \
|
|
--ks-pass pass:${{ secrets.KEY_STORE_PASS }} \
|
|
--key-pass pass:${{ secrets.KEY_STORE_PASS }} \
|
|
--out "$apk" \
|
|
"$apk"
|
|
done
|
|
|
|
- name: Upload FOSS APKs
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Signed FOSS APKs
|
|
path: app/build/outputs/apk/foss/release/*.apk
|
|
|
|
- name: Delete FOSS APKs
|
|
run: rm -rf app/build/outputs/apk/foss |