diff --git a/.gitea/workflows/AutoRelease.yaml b/.gitea/workflows/AutoRelease.yaml index e6f666d..eb4f39f 100644 --- a/.gitea/workflows/AutoRelease.yaml +++ b/.gitea/workflows/AutoRelease.yaml @@ -252,26 +252,34 @@ jobs: # 使用 Gitea API 获取所有 Release 信息 RepoInfo=${{ steps.ActionEnv.outputs.ENV_SERVER_URL }}/api/v1/repos/${{ steps.ActionEnv.outputs.ENV_REPO_NAME }}/releases echo "$RepoInfo" - releases=$(curl -s -H "Authorization: token ${{ steps.ActionEnv.outputs.ENV_USER_TOKEN }}" "RepoInfo") - - # 将 JSON 数据解析为数组 - releases_array=$(echo "$releases" | jq -c '.[]') + # 发送请求获取所有 release 信息,添加认证信息 + releases=$(curl -s -H "Authorization: token ${{ steps.ActionEnv.outputs.ENV_USER_TOKEN }}" "$RepoInfo") - # 按发布时间排序 - sorted_releases=$(echo "$releases_array" | jq -s 'sort_by(.published_at)') + # 检查是否成功获取信息 + if [ -z "$releases" ]; then + echo "Failed to fetch releases." + exit 1 + fi # 生成 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" + markdown_content="# Gitea Releases\n\n" + for row in $(echo "${releases}" | jq -r '.[] | @base64'); do + _jq() { + echo "${row}" | base64 --decode | jq -r "${1}" + } - # 将内容写入 README.md - echo "$markdown_content" > README.md + tag_name=$(_jq '.tag_name') + name=$(_jq '.name') + body=$(_jq '.body') + published_at=$(_jq '.published_at') + + markdown_content+="## ${name} (${tag_name})\n" + markdown_content+="**Published at**: ${published_at}\n\n" + markdown_content+="${body}\n\n" + done + + # 将 Markdown 内容添加到 README.md 文件中 + echo "$markdown_content" >> README.md - name: 提交和推送代码 run: |