From baf11b250103ca12adc5de8e7995469fecc7ee86 Mon Sep 17 00:00:00 2001 From: liyp Date: Sat, 12 Apr 2025 19:09:36 +0800 Subject: [PATCH] =?UTF-8?q?Release=20v1.5.3=20=E6=B5=8B=E8=AF=95=E7=94=9F?= =?UTF-8?q?=E6=88=90readme.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/AutoRelease.yaml | 75 +++++++++++-------------------- 1 file changed, 27 insertions(+), 48 deletions(-) diff --git a/.gitea/workflows/AutoRelease.yaml b/.gitea/workflows/AutoRelease.yaml index fbee4a4..3bb4b11 100644 --- a/.gitea/workflows/AutoRelease.yaml +++ b/.gitea/workflows/AutoRelease.yaml @@ -211,57 +211,36 @@ jobs: echo "$REPO_NAME" > README.md fi - - name: Get all releases - id: get-releases + - name: Fetch Gitea Releases + id: fetch-releases env: - GITEA_API_TOKEN: ${{ secrets.GITEA_API_TOKEN }} - GITEA_INSTANCE_URL: ${{ secrets.GITEA_INSTANCE_URL }} - GITEA_REPO: ${{ secrets.GITEA_REPO }} + CURRENT_USER_NAME: "iorebuild" + GITEA_API_URL: https://git.linuxacme.com/api/v1 # 替换为您的 Gitea 实例地址 + GITEA_OWNER: CURRENT_USER_NAME # 替换为您的仓库所有者 + GITEA_REPO: ${{ github.repository }} # 替换为您的仓库名称 + GITEA_TOKEN: ${{ secrets.AUTOGENERATE }} # 使用 Gitea API 令牌 run: | - set -e # 遇到错误就终止脚本 - # 获取所有发布信息,使用 Gitea API - releases=$(curl -s -H "Authorization: token $GITEA_API_TOKEN" \ - "$GITEA_INSTANCE_URL/api/v1/repos/$GITEA_REPO/releases") - if [ -z "$releases" ]; then - echo "Failed to get releases. Check your API token and instance URL." - exit 1 - fi - # 解析发布信息,提取名称、发布时间和发布说明 - output="" - for row in $(echo "${releases}" | jq -r '.[] | @base64'); do - _jq() { - echo "${row}" | base64 --decode | jq -r "${1}" - } - name=$(_jq '.name') - published_at=$(_jq '.published_at') - body=$(_jq '.body') - output="${output}- **${name}** (${published_at}):\n ${body}\n" - done - # 按发布时间倒序排序 - sorted_output=$(echo -e "${output}" | sort -r) - echo "::set-output name=release_info::$sorted_output" + # 使用 Gitea API 获取所有 Release 信息 + releases=$(curl -s -H "Authorization: token $GITEA_TOKEN" "$GITEA_API_URL/repos/$GITEA_OWNER/$GITEA_REPO/releases") + + # 将 JSON 数据解析为数组 + releases_array=$(echo "$releases" | jq -c '.[]') - - name: Update README.md - run: | - release_info="${{ steps.get-releases.outputs.release_info }}" - if [ -f README.md ]; then - # 查找并替换原有的版本发布部分,如果没有则添加到开头 - if grep -q "### Release Information" README.md; then - sed -i '/### Release Information/,/^$/d' README.md - fi - { - echo "### Release Information" - echo "$release_info" - echo "" - cat README.md - } > temp.md - mv temp.md README.md - else - { - echo "### Release Information" - echo "$release_info" - } > README.md - fi + # 按发布时间排序 + sorted_releases=$(echo "$releases_array" | jq -s 'sort_by(.published_at)') + + # 生成 Markdown 内容 + markdown_content="# Releases\n\n" + while read -r release; do + tag_name=$(echo "$release" | jq -r '.tag_name') + published_at=$(echo "$release" | jq -r '.published_at') + body=$(echo "$release" | jq -r '.body') + + markdown_content+=$(printf "## %s (%s)\n\n%s\n\n" "$tag_name" "$published_at" "$body") + done <<< "$sorted_releases" + + # 将内容写入 README.md + echo "$markdown_content" > README.md - name: 提交和推送代码 run: |