From 8428129e8146505e0fb5d70707a90148a8e2254e Mon Sep 17 00:00:00 2001 From: qxa Date: Fri, 10 Apr 2026 13:35:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=91=E5=B8=83=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- action.yaml | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/action.yaml b/action.yaml index 68e35dc..83744a9 100644 --- a/action.yaml +++ b/action.yaml @@ -26,27 +26,38 @@ runs: id: get_version shell: bash run: | + # 获取当前日期作为基础版本号 + current_date=$(date +"%Y.%m.%d" | sed 's/\.0/\./g') + echo "current_date=$current_date" + + # 获取所有发布版本号 json='' - echo 'curl -H 'Authorization:token ${{ inputs.token }}' ${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases/latest' - json=$(curl -H 'Authorization:token ${{ inputs.token }}' ${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases/latest) + json=$(curl -H 'Authorization:token ${{ inputs.token }}' ${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases) - if [ -n "$json" ] && echo $json|grep -q "tag_name"; then - last_version=$(echo $json | grep -oP '"tag_name"\s*:\s*"\K[^"]*') - echo "last_version=$last_version" + # 检查是否存在当前日期的版本 + if [ -n "$json" ]; then + # 提取所有标签名 + tags=$(echo $json | grep -oP '"tag_name"\s*:\s*"\K[^"]*') + # 过滤出当前日期的版本 + date_tags=$(echo "$tags" | grep "^$current_date") + echo "date_tags=$date_tags" + + if [ -n "$date_tags" ]; then + # 计算当前日期版本的数量 + count=$(echo "$date_tags" | wc -l) + # 如果有多个版本,添加数字后缀 + if [ $count -gt 0 ]; then + version="$current_date-$count" + else + version="$current_date" + fi + else + version="$current_date" + fi else - last_version='' + version="$current_date" fi - if [ -n "$last_version" ]; then - echo "存在版本号,$last_version" - array=(${last_version//./ }) - array[-1]=$((array[-1]+1)) - version=${array[*]} - version=${version// /.} - else - echo '不存在版本号' - version='1.0.0' - fi echo "version=$version" echo "version=$version" >> "$GITHUB_OUTPUT"