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:
|
branches:
|
||||||
- main
|
- main
|
||||||
- master
|
- master
|
||||||
tags:
|
|
||||||
- "android-app-v*"
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
actions: read
|
actions: read
|
||||||
contents: read
|
contents: write
|
||||||
releases: write
|
releases: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@@ -180,6 +178,51 @@ jobs:
|
|||||||
cp "$apk" gongyun-android-app-release.apk
|
cp "$apk" gongyun-android-app-release.apk
|
||||||
ls -alh 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
|
- name: Upload Android APK artifact
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
@@ -187,14 +230,13 @@ jobs:
|
|||||||
path: gongyun-android-app-release.apk
|
path: gongyun-android-app-release.apk
|
||||||
|
|
||||||
- name: Publish Gitea release
|
- name: Publish Gitea release
|
||||||
if: startsWith(github.ref, 'refs/tags/android-app-v')
|
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||||
GITEA_API_URL: https://git.saont.net/api/v1
|
GITEA_API_URL: https://git.saont.net/api/v1
|
||||||
GITEA_OWNER: gongyun
|
GITEA_OWNER: gongyun
|
||||||
GITEA_REPO: app
|
GITEA_REPO: app
|
||||||
TAG_NAME: ${{ github.ref_name }}
|
TAG_NAME: ${{ steps.android_tag.outputs.tag_name }}
|
||||||
TARGET_COMMITISH: ${{ github.sha }}
|
TARGET_COMMITISH: ${{ github.sha }}
|
||||||
ANDROID_APK_FILE: gongyun-android-app-release.apk
|
ANDROID_APK_FILE: gongyun-android-app-release.apk
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
Reference in New Issue
Block a user