android-wrapper/.forgejo/workflows/on_release.yml

69 lines
2.7 KiB
YAML

on:
workflow_dispatch:
push:
tags:
- 'v*'
jobs:
build_android:
runs-on: android-build
steps:
- uses: https://source.mapcomplete.org/actions/checkout@v4
with:
verbose: true
- uses: https://source.mapcomplete.org/actions/setup-android@v3.2.2
with:
cmdline-tools-version: 13114758
- name: Decode keystore
run: |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > ./app/release-key.jks
pwd
echo "Saved release key to ./app/release-key.jks"
- name: Grant execute permission to gradlew
run: chmod +x ./gradlew
- name: Monkeypatch version number
run: |
echo "--- @capacitor ---"
ls @capacitor
sed "s/\.\.\/node_modules\///" -i capacitor.settings.gradle
- name: Build signed APK
run: |
./gradlew --version
export ANDROID_SDK_HOME=/home/runner/.android/sdk/
export PATH=$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/platform-tools:$ANDROID_SDK_HOME/:$ANDROID_SDK_HOME/cmdline-tools/latest/tools/bin:$PATH
# Those variables are used in MapComplete/android/app/build.gradle
export storeFile="./release-key.jks"
export storePassword=${{ secrets.KEYSTORE_PASSWORD }}
export keyAlias=${{ secrets.KEY_ALIAS }}
export keyPassword=${{ secrets.KEY_PASSWORD }}
./gradlew build
./gradlew assembleRelease
rm -rf app/build/outputs/apk/release/baselineProfiles
rm -rf app/build/outputs/apk/release/output-metadata.json
TAG=$( echo ${{ env.GITHUB_REF_NAME }} )
scp app/build/outputs/apk/release/app-release.apk hetzner:~/public/apk/mapcomplete-$TAG.apk
ssh hetzner 'rm -f public/apk/mapcomplete-latest.apk && cp "public/apk/$(ls -v public/apk/ | tail -n 1)" public/apk/mapcomplete-latest.apk'
# Build versions vor legacy
./scripts/compile_version.shs $TAG 9-PIE 28
./scripts/compile_version.sh $TAG 10-QUINCE-TART 29
./scripts/compile_version.sh $TAG 11-RED-VELVET-CAKE 30
./scripts/compile_version.sh $TAG 12-SNOW-CONE 31
./scripts/compile_version.sh $TAG 13-TIRAMISU 32
- name: Upload APK to forgejo releases (MapComplete)
uses: https://source.mapcomplete.org/actions/forgejo-release@v2.6.0
with:
direction: upload
url: https://source.mapcomplete.org
repo: MapComplete/android-wrapper
release-dir: app/build/outputs/apk/release/
release-notes: "Release version ${{ github.ref_name }}"
sha: "${{ github.sha }}"
tag: "${{ github.ref_name }}"
token: ${{ secrets.WRITE_TOKEN }}