android-app-v1.3.1 build & tag
Android APK Release / Build Android APK (push) Successful in 1h10m20s

This commit is contained in:
2026-05-21 22:32:49 +08:00
parent b4259e56c1
commit 74abb4a1c5
+47 -5
View File
@@ -5,13 +5,11 @@ on:
branches:
- main
- master
tags:
- "android-app-v*"
workflow_dispatch:
permissions:
actions: read
contents: read
contents: write
releases: write
jobs:
@@ -180,6 +178,51 @@ jobs:
cp "$apk" gongyun-android-app-release.apk
ls -alh gongyun-android-app-release.apk
- name: Resolve Android release tag
id: android_tag
shell: bash
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: |
set -euo pipefail
if [ -z "${GITEA_TOKEN:-}" ]; then
echo "GITEA_TOKEN is required to create Android release tags."
exit 1
fi
if [[ "$GITHUB_REF" == refs/tags/android-app-v* ]]; then
tag_name="${GITHUB_REF#refs/tags/}"
else
app_version="$(awk -F '[:+]' '/^version:/ {gsub(/[[:space:]]/, "", $2); print $2; exit}' pubspec.yaml)"
if [ -z "$app_version" ]; then
echo "Unable to resolve app version from pubspec.yaml."
exit 1
fi
tag_name="android-app-v${app_version}"
fi
echo "tag_name=$tag_name" >> "$GITHUB_OUTPUT"
echo "Android release tag: $tag_name"
current_commit="$(git rev-parse HEAD)"
if git ls-remote --exit-code --tags origin "refs/tags/$tag_name" >/dev/null 2>&1; then
git fetch --force --depth=1 origin "refs/tags/$tag_name:refs/tags/$tag_name"
existing_tag_commit="$(git rev-list -n 1 "$tag_name")"
if [ "$existing_tag_commit" != "$current_commit" ]; then
echo "Tag $tag_name already exists at $existing_tag_commit, but this build is $current_commit."
echo "Bump pubspec.yaml version before creating a new Android release."
exit 1
fi
echo "Tag $tag_name already exists for this commit."
exit 0
fi
git config user.name "gitea-actions"
git config user.email "gitea-actions@git.saont.net"
git tag "$tag_name" "$current_commit"
git push origin "refs/tags/$tag_name"
- name: Upload Android APK artifact
uses: actions/upload-artifact@v3
with:
@@ -187,14 +230,13 @@ jobs:
path: gongyun-android-app-release.apk
- name: Publish Gitea release
if: startsWith(github.ref, 'refs/tags/android-app-v')
shell: bash
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_API_URL: https://git.saont.net/api/v1
GITEA_OWNER: gongyun
GITEA_REPO: app
TAG_NAME: ${{ github.ref_name }}
TAG_NAME: ${{ steps.android_tag.outputs.tag_name }}
TARGET_COMMITISH: ${{ github.sha }}
ANDROID_APK_FILE: gongyun-android-app-release.apk
run: |