android-app-v1.3.1 build & tag
Android APK Release / Build Android APK (push) Successful in 1h10m20s
Android APK Release / Build Android APK (push) Successful in 1h10m20s
This commit is contained in:
@@ -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: |
|
||||
|
||||
Reference in New Issue
Block a user