Files
SIAB-Scale/.gitea/workflows/release.yml
T
2026-09-16 14:29:55 +07:00

75 lines
1.9 KiB
YAML

name: Build Release AAB
on:
push:
tags: ['v*']
workflow_dispatch:
jobs:
build:
runs-on: self-hosted
env:
GRADLE_OPTS: "-Xmx3g -Dorg.gradle.daemon=false -Dorg.gradle.parallel=false"
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.27.1'
channel: 'stable'
cache: true
- name: Get dependencies
run: flutter pub get
- name: Analyze code
run: flutter analyze --no-pub --no-fatal-infos
- name: Run tests
run: flutter test
- name: Decode keystore
if: env.KEYSTORE_BASE64 != ''
run: echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > siab-release.keystore
env:
KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }}
- name: Create key.properties
run: |
cat > android/key.properties <<EOF
storePassword=Store_sc4l3
keyPassword=Store_sc4l3
keyAlias=siab
storeFile=../siab-release.keystore
EOF
- name: Build App Bundle
run: |
flutter build appbundle \
--release \
--obfuscate \
--split-debug-info=build/debug-info \
--dart-define=SIAB_DEVICE_NAME=SIAB
env:
KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
- name: Upload AAB artifact
uses: actions/upload-artifact@v4
with:
name: siab-scale-${{ github.ref_name }}
path: build/app/outputs/bundle/release/app-release.aab
- name: Upload debug symbols
uses: actions/upload-artifact@v4
with:
name: debug-symbols-${{ github.ref_name }}
path: build/debug-info/