55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
name: Release APK
|
|
|
|
on:
|
|
push:
|
|
tags: ["v*"]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: linux-x86_64
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: "17"
|
|
|
|
- uses: subosito/flutter-action@v2
|
|
with:
|
|
flutter-version: "stable"
|
|
cache: true
|
|
|
|
- name: Extract version code from pubspec
|
|
run: |
|
|
VERSION=$(grep '^version:' pubspec.yaml | sed 's/version: //')
|
|
VERSION_CODE=$(echo "$VERSION" | grep -oP '(?<=\+)\d+')
|
|
VERSION_NAME=$(echo "$VERSION" | grep -oP '^[^+]+')
|
|
echo "VERSION_CODE=$VERSION_CODE" >> $GITHUB_ENV
|
|
echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV
|
|
|
|
- name: Decode keystore
|
|
run: |
|
|
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > android/app/kirakira-release.jks
|
|
echo "KEYSTORE_PATH=$GITHUB_WORKSPACE/android/app/kirakira-release.jks" >> $GITHUB_ENV
|
|
|
|
- name: Build release APK (prod flavor)
|
|
env:
|
|
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
|
|
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
|
|
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
|
|
run: flutter build apk --release --flavor prod
|
|
|
|
- name: Rename APK
|
|
run: |
|
|
cp build/app/outputs/flutter-apk/app-prod-release.apk \
|
|
"kirakira-${{ env.VERSION_NAME }}.apk"
|
|
|
|
- name: Create GitHub Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: kirakira-*.apk
|
|
body_path: fastlane/metadata/android/en-US/changelogs/${{ env.VERSION_CODE }}.txt
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|