feat: Update build workflow to make release tag optional and handle conditional release uploads

This commit is contained in:
2026-04-08 18:14:23 +07:00
parent 7a56b3bfc6
commit 9cb33264bb
+10 -2
View File
@@ -1,11 +1,14 @@
name: Build Android APK name: Build Android APK
on: on:
push:
branches:
- "**"
workflow_dispatch: workflow_dispatch:
inputs: inputs:
release_tag: release_tag:
description: "Release tag (example: v1.0.10)" description: "Release tag (example: v1.0.10)"
required: true required: false
jobs: jobs:
build-apk: build-apk:
@@ -16,7 +19,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 }} 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 }}
@@ -200,6 +203,7 @@ PY
fi fi
- name: Create or update Gitea release and upload APK - name: Create or update Gitea release and upload APK
if: ${{ env.RELEASE_TAG != '' }}
run: | run: |
if [ -z "${TOKEN}" ]; then if [ -z "${TOKEN}" ]; then
echo "Missing required secret: TOKEN" echo "Missing required secret: TOKEN"
@@ -250,3 +254,7 @@ PY
-H "Authorization: token ${TOKEN}" \ -H "Authorization: token ${TOKEN}" \
-F "attachment=@${APK_PATH}" \ -F "attachment=@${APK_PATH}" \
"${API_BASE}/repos/${OWNER}/${REPO}/releases/${RELEASE_ID}/assets?name=reader-app-${TAG}.apk" "${API_BASE}/repos/${OWNER}/${REPO}/releases/${RELEASE_ID}/assets?name=reader-app-${TAG}.apk"
- name: Skip release upload (no release_tag)
if: ${{ env.RELEASE_TAG == '' }}
run: echo "No release_tag provided. Build completed without creating a release."