Files
WeatherMaster/.github/workflows/release.yml
T

60 lines
1.4 KiB
YAML

name: WeatherMaster Signed Release
on:
workflow_dispatch:
push:
tags:
- "*"
jobs:
build:
runs-on: ubuntu-24.04
env:
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
GEO_NAMES_USERNAME: ${{ secrets.GEO_NAMES_USERNAME }}
MF_KEY: ${{ secrets.MF_KEY }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "21.0.7"
- name: Setup Android SDK
uses: android-actions/setup-android@v3
- name: Decode keystore
run: |
mkdir keystore
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > keystore/release.jks
- name: Verify environment
run: |
java -version
./gradlew --version
- name: Build signed APK
run: |
./gradlew \
--no-daemon \
--no-build-cache \
-PGEO_NAMES_USERNAME="${{ secrets.GEO_NAMES_USERNAME }}" \
-PMF_KEY="${{ secrets.MF_KEY }}" \
clean assembleRelease
- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: signed-release-apk
path: app/build/outputs/apk/release/*.apk