feat: Update build workflow to require release tag input for manual triggering

This commit is contained in:
2026-04-08 18:10:31 +07:00
parent 46b5d18868
commit 7a56b3bfc6
+11 -9
View File
@@ -2,17 +2,13 @@ name: Build Android APK
on: on:
workflow_dispatch: workflow_dispatch:
push: inputs:
tags: release_tag:
- "v*" description: "Release tag (example: v1.0.10)"
create: required: true
jobs: jobs:
build-apk: build-apk:
if: |
(github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')) ||
(github.event_name == 'create' && github.ref_type == 'tag' && startsWith(github.ref, 'v')) ||
github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
@@ -20,6 +16,7 @@ jobs:
GOOGLE_SERVER_CLIENT_ID: ${{ secrets.GOOGLE_SERVER_CLIENT_ID }} GOOGLE_SERVER_CLIENT_ID: ${{ secrets.GOOGLE_SERVER_CLIENT_ID }}
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }} GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
TOKEN: ${{ secrets.TOKEN }} TOKEN: ${{ secrets.TOKEN }}
RELEASE_TAG: ${{ github.event.inputs.release_tag }}
ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }} ANDROID_KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} ANDROID_KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
@@ -209,6 +206,11 @@ PY
exit 1 exit 1
fi fi
if [ -z "${RELEASE_TAG}" ]; then
echo "Missing required workflow input: release_tag"
exit 1
fi
APK_PATH="build/app/outputs/flutter-apk/app-release.apk" APK_PATH="build/app/outputs/flutter-apk/app-release.apk"
if [ ! -f "$APK_PATH" ]; then if [ ! -f "$APK_PATH" ]; then
echo "APK not found at $APK_PATH" echo "APK not found at $APK_PATH"
@@ -218,7 +220,7 @@ PY
OWNER_REPO="${GITHUB_REPOSITORY}" OWNER_REPO="${GITHUB_REPOSITORY}"
OWNER="${OWNER_REPO%%/*}" OWNER="${OWNER_REPO%%/*}"
REPO="${OWNER_REPO##*/}" REPO="${OWNER_REPO##*/}"
TAG="${GITHUB_REF_NAME}" TAG="${RELEASE_TAG}"
API_BASE="${GITHUB_SERVER_URL}/api/v1" API_BASE="${GITHUB_SERVER_URL}/api/v1"
RELEASE_JSON=$(curl -sS -X POST \ RELEASE_JSON=$(curl -sS -X POST \