Release v1.5.3 测试生成readme.md
Some checks failed
自动版本发布 / AutoRelease (push) Failing after 9s
自动版本发布 / AutoREADME.md (push) Failing after 25s

This commit is contained in:
liyp 2025-04-12 19:09:36 +08:00
parent 9079c05fd9
commit baf11b2501

View File

@ -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: |