可以根据发布信息记录到readme
This commit is contained in:
parent
0abac72735
commit
7fed578bd3
@ -1,14 +1,14 @@
|
||||
name: Create README with Commit History
|
||||
name: AutoGenerateREADME.md
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main # 可根据实际情况修改为你的默认分支,如 master
|
||||
- main
|
||||
|
||||
jobs:
|
||||
create-readme:
|
||||
runs-on: ubuntu-latest
|
||||
if: "!contains(github.event.head_commit.message, 'Create README with commit history')"
|
||||
if: "!contains(github.event.head_commit.message, 'AutoGenerateREADME.md')"
|
||||
|
||||
steps:
|
||||
- name: Checkout code from Gitea
|
||||
@ -17,11 +17,10 @@ jobs:
|
||||
GITEA_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
|
||||
CLEAN_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
|
||||
run: |
|
||||
# 去除多余的 https://
|
||||
CLEAN_REPO_URL="${CLEAN_REPO_URL#https://}"
|
||||
git clone "https://${GITEA_TOKEN}@${CLEAN_REPO_URL}" .
|
||||
|
||||
- name: Delete existing README if exists
|
||||
- name: Touch New README.md
|
||||
run: |
|
||||
if [ -f README.md ]; then
|
||||
rm README.md
|
||||
@ -29,14 +28,37 @@ jobs:
|
||||
|
||||
- name: Get commit history and write to README
|
||||
run: |
|
||||
# 获取仓库名称
|
||||
REPO_NAME=$(basename "$GITHUB_REPOSITORY" .git)
|
||||
# 写入仓库名称到 README
|
||||
echo "# $REPO_NAME" > README.md
|
||||
# 获取所有提交记录并追加到 README
|
||||
git log --pretty=format:"- %h %an %ad %s" --date=short >> README.md
|
||||
# 显示 README.md 的内容(可选,用于调试)
|
||||
cat README.md
|
||||
echo "# ActionDemo测试文档标题" > README.md
|
||||
|
||||
# 获取所有提交记录,包含提交哈希、作者、日期和提交信息
|
||||
commits=$(git log --pretty=format:"%ct %h %an %ad %s" --date=short)
|
||||
|
||||
# 获取所有版本标签及其关联的提交哈希和日期
|
||||
tags=$(git for-each-ref --sort=creatordate --format='%(creatordate:unix) %(objectname) %(refname:strip=2)' refs/tags)
|
||||
|
||||
# 合并提交记录和版本标签信息,并按时间排序
|
||||
all_entries="$commits
|
||||
$tags"
|
||||
sorted_entries=$(echo "$all_entries" | sort -n)
|
||||
|
||||
# 遍历排序后的记录并写入 README
|
||||
for entry in $sorted_entries; do
|
||||
timestamp=$(echo $entry | cut -d ' ' -f 1)
|
||||
hash_or_tag=$(echo $entry | cut -d ' ' -f 2)
|
||||
rest=$(echo $entry | cut -d ' ' -f 3-)
|
||||
|
||||
# 检查是否为版本标签
|
||||
if [[ $hash_or_tag == refs/tags/* ]]; then
|
||||
tag_name=${hash_or_tag#refs/tags/}
|
||||
echo "## Version $tag_name" >> README.md
|
||||
else
|
||||
commit_hash=$hash_or_tag
|
||||
author=$(echo $rest | cut -d ' ' -f 1)
|
||||
date=$(echo $rest | cut -d ' ' -f 2)
|
||||
message=$(echo $rest | cut -d ' ' -f 3-)
|
||||
echo "- $commit_hash $author $date $message" >> README.md
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Commit and push changes
|
||||
env:
|
||||
@ -44,7 +66,6 @@ jobs:
|
||||
GITEA_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
|
||||
CLEAN_REPO_URL: ${{ github.server_url }}/${{ github.repository }}
|
||||
run: |
|
||||
# 去除多余的 https://
|
||||
CLEAN_REPO_URL="${CLEAN_REPO_URL#https://}"
|
||||
git config --local user.email "liyepan@linuxacme.com"
|
||||
git config --local user.name "iorebuild"
|
||||
|
Loading…
Reference in New Issue
Block a user