From fdfaf3a907120c0b5aa62e752d9fe82d131e8bd2 Mon Sep 17 00:00:00 2001 From: qxa Date: Tue, 25 Mar 2025 18:20:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- action.yaml | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 action.yaml diff --git a/action.yaml b/action.yaml new file mode 100644 index 0000000..68e35dc --- /dev/null +++ b/action.yaml @@ -0,0 +1,66 @@ +name: auto-release +description: 自动发布版本 + +inputs: + server_url: + required: false + description: 服务器地址 + default: ${{ gitea.server_url }} + token: + required: false + description: 授权凭证 + default: ${{ gitea.token }} + files: + required: false + description: 要上传的文件 + +outputs: + version: + description: 发布的版本号 + value: ${{ steps.get_version.outputs.version }} + +runs: + using: composite + steps: + - name: 获取最新发布版本号 + id: get_version + shell: bash + run: | + 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) + + 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" + else + last_version='' + 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" + + - name: 创建标签 + shell: bash + run: | + tag_name="${{ steps.get_version.outputs.version }}" + git tag $tag_name ${{ gitea.ref_name }} + git push --tags + + - name: 发布版本 + uses: actions/release@master + with: + name: ${{ steps.get_version.outputs.version }} + tag_name: ${{ steps.get_version.outputs.version }} + target_commitish: ${{ gitea.ref_name }} + files: ${{ inputs.files }}