From a49fdd39017aab2b9094d8846be2c03f366c96f5 Mon Sep 17 00:00:00 2001 From: Jason Yang <18200748882@163.com> Date: Fri, 27 Feb 2026 13:19:47 +0800 Subject: [PATCH] Improve tag retrieval logic in release workflow Updated the logic to retrieve the last Git tag, ensuring it handles cases where no tags exist more gracefully. --- .github/workflows/release.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 57069429..f3e76380 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -96,8 +96,14 @@ jobs: if [[ -n "${GIT_EXACT_TAG}" ]]; then echo "SOURCE_VERSION=${GIT_EXACT_TAG}" | tee -a "${GITHUB_ENV}" else - GIT_LAST_TAG="$(git describe --tags --abbrev=0)" + # 尝试获取最近的 Tag + GIT_LAST_TAG="$(git describe --tags --abbrev=0 2>/dev/null || true)" + if [[ -n "${GIT_LAST_TAG}" ]]; then + # 如果有旧 Tag,生成 "Tag-CommitHash" 格式 + echo "SOURCE_VERSION=${GIT_LAST_TAG}-${SOURCE_COMMIT:0:8}" | tee -a "${GITHUB_ENV}" + else echo "SOURCE_VERSION=${GIT_LAST_TAG}-${SOURCE_COMMIT:0:8}" | tee -a "${GITHUB_ENV}" + echo "⚠️ No tags found in repository. Using version: dev-${SOURCE_COMMIT:0:8}" fi # Login to Docker Hub