Project_SylDa/.forgejo/workflows/release.yml
eddy 7c0d817018
Some checks failed
CI / firmware (push) Failing after 21s
CI / android (push) Has been skipped
CI: remove pip install platformio (already in PATH via linuxbrew)
2026-07-31 00:06:19 +02:00

61 lines
1.8 KiB
YAML

name: Release
on:
push:
tags:
- 'v*'
workflow_dispatch:
jobs:
build:
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Build firmware
run: pio run
- name: Copy firmware to Android assets
run: bash tools/copy_firmware.sh
- name: Decode keystore
run: echo "${{ secrets.KEYSTORE_B64 }}" | base64 -d > android/keystore/sylda.jks
if: env.KEYSTORE_B64 != ''
- name: Write signing.properties
run: |
cat > android/signing.properties << 'PROPS'
storeFile=keystore/sylda.jks
storePassword=${{ secrets.KEYSTORE_PASS }}
keyAlias=${{ secrets.KEY_ALIAS }}
keyPassword=${{ secrets.KEY_PASS }}
PROPS
- name: Build release APK + AAB
working-directory: android
run: ./gradlew assembleRelease bundleRelease
env:
ANDROID_HOME: ${{ vars.ANDROID_HOME || '/opt/android-sdk' }}
- name: Gather release artifacts
run: |
mkdir -p release/artifacts
cp android/app/build/outputs/apk/release/app-release.apk release/artifacts/
cp android/app/build/outputs/bundle/release/app-release.aab release/artifacts/
cp android/app/src/main/assets/firmware/*.bin release/artifacts/
cd release/artifacts
sha256sum * > checksums.txt
- name: Upload release artifacts
uses: actions/upload-artifact@v4
with:
name: release
path: release/artifacts/*
- name: Create Forgejo release
uses: https://git.eddydevink.nl/api/packages/eddy/actions/forgejo-release@v1
with:
token: ${{ secrets.FORGEJO_TOKEN }}
tag: ${{ github.ref_name }}
title: ${{ github.ref_name }}
files: release/artifacts/*