ci: resolve release tag from checked out refs

This commit is contained in:
Qiufeng
2026-08-18 19:33:06 +08:00
parent 5a48993d26
commit 8d11f370b3
+5 -1
View File
@@ -24,10 +24,14 @@ jobs:
run: | run: |
GITEA_REF_NAME=${GITHUB_REF_NAME:-} GITEA_REF_NAME=${GITHUB_REF_NAME:-}
if [ -z "$GITEA_REF_NAME" ]; then GITEA_REF_NAME=${GITHUB_REF#refs/tags/}; fi if [ -z "$GITEA_REF_NAME" ]; then GITEA_REF_NAME=${GITHUB_REF#refs/tags/}; fi
if [ -z "$GITEA_REF_NAME" ] || [ "$GITEA_REF_NAME" = "$GITHUB_REF" ]; then
GITEA_REF_NAME=$(git tag --points-at HEAD | awk '/^v[0-9A-Za-z][0-9A-Za-z._+-]*$/{print; exit}')
fi
VERSION=${GITEA_REF_NAME#v} VERSION=${GITEA_REF_NAME#v}
test "$GITEA_REF_NAME" = "v$VERSION" test "$GITEA_REF_NAME" = "v$VERSION"
./scripts/check-semver.sh "$VERSION" ./scripts/check-semver.sh "$VERSION"
GITEA_SHA=$(git rev-parse "refs/tags/$GITEA_REF_NAME^{commit}") GITEA_SHA=$(git rev-parse HEAD)
test "$(git rev-parse "refs/tags/$GITEA_REF_NAME^{commit}")" = "$GITEA_SHA"
test -z "$(git status --porcelain --untracked-files=all)" test -z "$(git status --porcelain --untracked-files=all)"
{ {
printf 'version=%s\n' "$VERSION" printf 'version=%s\n' "$VERSION"