Compare commits

..

No commits in common. "main" and "v1.7.5" have entirely different histories.
main ... v1.7.5

7 changed files with 41 additions and 218 deletions

View File

@ -5,11 +5,6 @@ on:
branches: branches:
- main - main
env:
PROJECT_NAME: "私有仓库Action测试"
DEVELOP_TOOLS: "Keil-V5.35.0.0"
COMPILER: "V5.06 update 7(build960)"
jobs: jobs:
AutoRelease: AutoRelease:
# 如果有Release标签则运行jobs # 如果有Release标签则运行jobs
@ -28,10 +23,8 @@ jobs:
- name: 设置环境变量 - name: 设置环境变量
id: ActionEnv id: ActionEnv
run: | run: |
#设置上海时间
sudo ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 正确的变量赋值 # 正确的变量赋值
UserToken="${{ secrets.AUTOGENERATE }}"
UserName="${{ github.actor }}" UserName="${{ github.actor }}"
UserEmail=$(git log -1 --pretty=format:'%ae') UserEmail=$(git log -1 --pretty=format:'%ae')
GitRepo="${{ github.repository }}" GitRepo="${{ github.repository }}"
@ -39,6 +32,7 @@ jobs:
RepoUrl="${{ github.repository }}" RepoUrl="${{ github.repository }}"
# 将变量设置为步骤输出 # 将变量设置为步骤输出
echo "ENV_USER_TOKEN=$ServerUrl/$UserToken" >> $GITHUB_OUTPUT
echo "ENV_USER_NAME=$UserName" >> $GITHUB_OUTPUT echo "ENV_USER_NAME=$UserName" >> $GITHUB_OUTPUT
echo "ENV_USER_EMAIL=$UserEmail" >> $GITHUB_OUTPUT echo "ENV_USER_EMAIL=$UserEmail" >> $GITHUB_OUTPUT
echo "ENV_REPO_NAME=$GitRepo" >> $GITHUB_OUTPUT echo "ENV_REPO_NAME=$GitRepo" >> $GITHUB_OUTPUT
@ -95,17 +89,11 @@ jobs:
git tag -a ${{ steps.extract_version.outputs.version }} -m "Release ${{ steps.extract_version.outputs.version }}" git tag -a ${{ steps.extract_version.outputs.version }} -m "Release ${{ steps.extract_version.outputs.version }}"
git push origin ${{ steps.extract_version.outputs.version }} git push origin ${{ steps.extract_version.outputs.version }}
- name: 创建md5文件
id: touch-md5-file
run: |
touch md5.txt
- name: 查找第1个.bin 文件 - name: 查找第1个.bin 文件
id: find-bin-files-1 id: find-bin-files-1
run: | run: |
BIN_FILES=$(find ./Bin -name "*.bin" -print0 | tr '\0' ',') BIN_FILES=$(find ./Bin -name "*.bin" -print0 | tr '\0' ',')
BIN_FILES=${BIN_FILES%,} BIN_FILES=${BIN_FILES%,}
md5sum $BIN_FILES >> md5.txt
echo "bin_files=$BIN_FILES" >> $GITHUB_OUTPUT echo "bin_files=$BIN_FILES" >> $GITHUB_OUTPUT
echo "bin_files=$BIN_FILES" echo "bin_files=$BIN_FILES"
- name: 查找第2个.bin 文件 - name: 查找第2个.bin 文件
@ -113,22 +101,14 @@ jobs:
run: | run: |
BIN_FILES=$(find ./Bin1 -name "*.bin" -print0 | tr '\0' ',') BIN_FILES=$(find ./Bin1 -name "*.bin" -print0 | tr '\0' ',')
BIN_FILES=${BIN_FILES%,} BIN_FILES=${BIN_FILES%,}
md5sum $BIN_FILES >> md5.txt
echo "bin_files=$BIN_FILES" >> $GITHUB_OUTPUT echo "bin_files=$BIN_FILES" >> $GITHUB_OUTPUT
- name: 查找第3个.bin 文件 - name: 查找第3个.bin 文件
id: find-bin-files-3 id: find-bin-files-3
run: | run: |
BIN_FILES=$(find ./Bin2 -name "*.bin" -print0 | tr '\0' ',') BIN_FILES=$(find ./Bin2 -name "*.bin" -print0 | tr '\0' ',')
BIN_FILES=${BIN_FILES%,} BIN_FILES=${BIN_FILES%,}
md5sum $BIN_FILES >> md5.txt
echo "bin_files=$BIN_FILES" >> $GITHUB_OUTPUT echo "bin_files=$BIN_FILES" >> $GITHUB_OUTPUT
- name: 输出md5文件
id: output-md5-file
run: |
MD5_FILE=md5.txt
echo "md5_result=$MD5_FILE" >> $GITHUB_OUTPUT
- name: 获取上次发布标签 - name: 获取上次发布标签
id: get-previous-tag id: get-previous-tag
run: | run: |
@ -142,11 +122,8 @@ jobs:
- name: 获取提交记录 - name: 获取提交记录
id: get-commit-log id: get-commit-log
run: | run: |
# 获取指定标签到当前提交之间的提交记录,并按特定格式输出,同时过滤掉包含 'Update README.md' 的记录 COMMIT_LOG=$(git log ${{ steps.get-previous-tag.outputs.previous_tag }}..HEAD --pretty=format:"- %s (%h)" | tr '\n' '\r')
COMMIT_LOG=$(git log ${{ steps.get-previous-tag.outputs.previous_tag }}..HEAD --pretty=format:"- %s (%h)" | grep -v 'Update README.md' | tr '\n' '\r')
# 将 COMMIT_LOG 变量的值输出到 GitHub Actions 的输出中
echo "commit_log=$COMMIT_LOG" >> $GITHUB_OUTPUT echo "commit_log=$COMMIT_LOG" >> $GITHUB_OUTPUT
# 打印 COMMIT_LOG 变量的值,方便调试查看
echo "commit_log=$COMMIT_LOG" echo "commit_log=$COMMIT_LOG"
- name: 解析Release标题 - name: 解析Release标题
@ -174,7 +151,7 @@ jobs:
- name: 创建Gitea发布 - name: 创建Gitea发布
uses: https://git.linuxacme.com/iorebuild/gitea-release-action@main uses: https://git.linuxacme.com/iorebuild/gitea-release-action@main
with: with:
gitea_token: ${{ secrets.AUTOGENERATE }} gitea_token: ${{ steps.ActionEnv.outputs.ENV_USER_TOKEN }}
gitea_instance_url: ${{ steps.ActionEnv.outputs.ENV_SERVER_URL }} gitea_instance_url: ${{ steps.ActionEnv.outputs.ENV_SERVER_URL }}
repository: ${{ steps.ActionEnv.outputs.ENV_REPO_NAME }} repository: ${{ steps.ActionEnv.outputs.ENV_REPO_NAME }}
name: ${{ steps.parse-release.outputs.title }} name: ${{ steps.parse-release.outputs.title }}
@ -184,7 +161,6 @@ jobs:
draft: false draft: false
prerelease: false prerelease: false
files: | files: |
${{ steps.output-md5-file.outputs.md5_result }}
${{ steps.find-bin-files-1.outputs.bin_files }} ${{ steps.find-bin-files-1.outputs.bin_files }}
${{ steps.find-bin-files-2.outputs.bin_files }} ${{ steps.find-bin-files-2.outputs.bin_files }}
${{ steps.find-bin-files-3.outputs.bin_files }} ${{ steps.find-bin-files-3.outputs.bin_files }}
@ -205,10 +181,8 @@ jobs:
- name: 设置环境变量 - name: 设置环境变量
id: ActionEnv id: ActionEnv
run: | run: |
#设置上海时间
sudo ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 正确的变量赋值 # 正确的变量赋值
UserToken="${{ secrets.AUTOGENERATE }}"
UserName="${{ github.actor }}" UserName="${{ github.actor }}"
UserEmail=$(git log -1 --pretty=format:'%ae') UserEmail=$(git log -1 --pretty=format:'%ae')
GitRepo="${{ github.repository }}" GitRepo="${{ github.repository }}"
@ -216,6 +190,7 @@ jobs:
RepoUrl="${{ github.repository }}" RepoUrl="${{ github.repository }}"
# 将变量设置为步骤输出 # 将变量设置为步骤输出
echo "ENV_USER_TOKEN=$ServerUrl/$UserToken" >> $GITHUB_OUTPUT
echo "ENV_USER_NAME=$UserName" >> $GITHUB_OUTPUT echo "ENV_USER_NAME=$UserName" >> $GITHUB_OUTPUT
echo "ENV_USER_EMAIL=$UserEmail" >> $GITHUB_OUTPUT echo "ENV_USER_EMAIL=$UserEmail" >> $GITHUB_OUTPUT
echo "ENV_REPO_NAME=$GitRepo" >> $GITHUB_OUTPUT echo "ENV_REPO_NAME=$GitRepo" >> $GITHUB_OUTPUT
@ -260,49 +235,54 @@ jobs:
echo "README.md does not exist." echo "README.md does not exist."
fi fi
- name: 获取所有Release信息 - name: 添加工程名字到README.md
run: |
REPO_NAME="ActionDemo"
if [ -f "README.md" ]; then
TEMP=$(cat README.md)
echo "$REPO_NAME" > README.md
echo "$TEMP" >> README.md
else
echo "$REPO_NAME" > README.md
fi
- name: Fetch Gitea Releases
id: fetch-releases id: fetch-releases
run: | run: |
# 使用 Gitea API 获取所有 Release 信息 # 使用 Gitea API 获取所有 Release 信息
RepoInfo=${{ steps.ActionEnv.outputs.ENV_SERVER_URL }}/api/v1/repos/${{ steps.ActionEnv.outputs.ENV_REPO_NAME }}/releases RepoInfo=${{ steps.ActionEnv.outputs.ENV_SERVER_URL }}/api/v1/repos/${{ steps.ActionEnv.outputs.ENV_REPO_NAME }}/releases
echo "$RepoInfo" echo "$RepoInfo"
# 发送请求获取所有 release 信息,添加认证信息 # 发送请求获取所有 release 信息,添加认证信息
Releases=$(curl -s -H "Authorization: token ${{ secrets.AUTOGENERATE }}" "$RepoInfo") releases=$(curl -s -H "Authorization: token 09f2b199015b6925fc45e6499016ba6989d8f965" "$RepoInfo")
echo "$Releases" echo "$releases"
# 检查是否成功获取信息 # 检查是否成功获取信息
if [ -z "$Releases" ]; then if [ -z "$releases" ]; then
echo "Failed to fetch Releases." echo "Failed to fetch releases."
exit 1 exit 1
fi fi
# 生成 Markdown 内容 # 生成 Markdown 内容
markdown_content="# $PROJECT_NAME\n\n" markdown_content="# Gitea Releases\n\n"
markdown_content+="### Develop Tools\n\n" for row in $(echo "${releases}" | jq -r '.[] | @base64'); do
markdown_content+=" $DEVELOP_TOOLS\n\n" _jq() {
markdown_content+="### Compiler Version\n\n" echo "${row}" | base64 --decode | jq -r "${1}"
markdown_content+=" $COMPILER\n\n" }
# 使用 jq 直接解析 JSON 并处理 tag_name=$(_jq '.tag_name')
while IFS= read -r row; do name=$(_jq '.name')
tag_name=$(echo "$row" | jq -r '.tag_name') body=$(_jq '.body')
name=$(echo "$row" | jq -r '.name') published_at=$(_jq '.published_at')
body=$(echo "$row" | jq -r '.body')
published_at=$(echo "$row" | jq -r '.published_at')
# 将 ISO 8601 格式的时间转换为指定格式 markdown_content+="## ${name} (${tag_name})\n"
formatted_time=$(date -d "$published_at" +"Release at: %Y-%m-%d %H:%M:%S") markdown_content+="**Published at**: ${published_at}\n\n"
markdown_content+="${body}\n\n"
markdown_content+="## ${name} (${tag_name})\n" done
markdown_content+="${formatted_time}\n\n"
markdown_content+="${body}\n\n"
done < <(echo "$Releases" | jq -c '.[]')
# 将 Markdown 内容添加到 README.md 文件中 # 将 Markdown 内容添加到 README.md 文件中
echo -e "$markdown_content" >> README.md echo "$markdown_content" >> README.md
- name: 提交和推送代码 - name: 提交和推送代码
run: | run: |
git add README.md git add README.md
git commit -m "Update README.md" git commit -m "Update README.md"
git push https://${{ secrets.AUTOGENERATE }}@git.linuxacme.com/${{ steps.ActionEnv.outputs.ENV_REPO_NAME }} git push https://${{ secrets.AUTOGENERATE }}@git.linuxacme.com/${{ github.repository }}

163
README.md
View File

@ -1,161 +1,4 @@
# 私有仓库Action测试 ### Repository Timeline
Tagger: iorebuild <liyepan@linuxacme.com>
### Develop Tools
Keil-V5.35.0.0
### Compiler Version
V5.06 update 7(build960)
## 测试md5 (v1.9.6)
Release at: 2025-05-15 13:03:28
- Release v1.9.6 测试md5 (487514b)
## (v1.9.5)
Release at: 2025-05-15 13:02:27
- Merge branch 'main' of https://git.linuxacme.com/iorebuild/ActionDemo Release v1.9.5 测试md5 (867cd20) - Release v1.9.5 测试md5 (15be011)
## 测试md5 (v1.9.4)
Release at: 2025-05-15 12:59:56
- Release v1.9.4 测试md5 (b4c0ad0)
## 测试多次提交 (v1.9.0)
Release at: 2025-04-26 16:30:00
- Release v1.9.0 测试多次提交 (eb9bf07) - 添加第二个文件 (c8cae34) - 添加第一个文件 (51b2f84)
## 测试生成readme.md (v1.8.9)
Release at: 2025-04-13 10:37:24
- Release v1.8.9 测试生成readme.md (a7833b5)
## 测试生成readme.md (v1.8.8)
Release at: 2025-04-13 10:35:10
- Release v1.8.8 测试生成readme.md (8049629)
## 测试生成readme.md (v1.8.7)
Release at: 2025-04-13 10:30:45
- Release v1.8.7 测试生成readme.md (1805293)
## 测试生成readme.md (v1.8.6)
Release at: 2025-04-13 10:27:49
- Release v1.8.6 测试生成readme.md (8ebcbb9)
## 测试生成readme.md (v1.8.5)
Release at: 2025-04-13 10:21:26
- Release v1.8.5 测试生成readme.md (78f479e) - Update README.md (26f7da4) - 使用统一的仓库名字Release v1.8.4 测试生成readme.md (08e669f) - Update README.md (a432456)
## 测试生成readme.md (v1.8.3)
Release at: 2025-04-13 10:10:46
- Release v1.8.3 测试生成readme.md (feebbfb) - Update README.md (2a5dc32)
## 测试生成readme.md (v1.8.2)
Release at: 2025-04-13 10:06:54
- Release v1.8.2 测试生成readme.md (2fa8e1e) - Update README.md (1218a12)
## 测试生成readme.md (v1.8.1)
Release at: 2025-04-13 10:03:28
- Release v1.8.1 测试生成readme.md (546a75f)
## 测试生成readme.md (v1.8.0)
Release at: 2025-04-13 10:00:42
- Release v1.8.0 测试生成readme.md (5ab5377)
## 测试生成readme.md (v1.7.9)
Release at: 2025-04-13 09:58:31
- Release v1.7.9 测试生成readme.md (f47d1c2)
## 测试生成readme.md (v1.7.6)
Release at: 2025-04-13 09:56:44
- Release v1.7.6 测试生成readme.md (3af1760) - Update README.md (ef8ee16)
## 测试生成readme.md (v1.7.5)
Release at: 2025-04-13 09:53:49
- Release v1.7.5 测试生成readme.md (48b87be)
## 测试生成readme.md (v1.7.4)
Release at: 2025-04-13 09:49:09
- Release v1.7.4 测试生成readme.md (4ab5f2e)
## 测试生成readme.md (v1.7.3)
Release at: 2025-04-13 09:47:49
- Release v1.7.3 测试生成readme.md (851647a)
## 测试生成readme.md (v1.7.2)
Release at: 2025-04-13 09:44:34
- Release v1.7.2 测试生成readme.md (c773df0)
## 测试生成readme.md (v1.7.1)
Release at: 2025-04-13 09:42:15
- Release v1.7.1 测试生成readme.md (cca3ba2)
## 测试生成readme.md (v1.7.0)
Release at: 2025-04-13 09:40:01
- Release v1.7.0 测试生成readme.md (4fb34f4)
## 测试生成readme.md (v1.6.9)
Release at: 2025-04-13 09:37:34
- Release v1.6.9 测试生成readme.md (dcbbc58)
## 测试生成readme.md (v1.6.8)
Release at: 2025-04-12 22:03:48
- Release v1.6.8 测试生成readme.md (ab3fc14)
## 测试生成readme.md (v1.6.7)
Release at: 2025-04-12 21:58:49
- Release v1.6.7 测试生成readme.md (fb1d348)
## 测试生成readme.md (v1.6.5)
Release at: 2025-04-12 21:55:59
- Release v1.6.5 测试生成readme.md (bb7466b)
## 测试生成readme.md (v1.6.0)
Release at: 2025-04-12 20:31:23
- Release v1.6.0 测试生成readme.md (8fd082d)
## 测试生成readme.md (v1.5.9)
Release at: 2025-04-12 20:27:38
- Release v1.5.9 测试生成readme.md (540eaac)
## 测试生成readme.md (v1.5.8)
Release at: 2025-04-12 20:24:31
- Release v1.5.8 测试生成readme.md (02c3be3)
## 测试生成readme.md (v1.5.7)
Release at: 2025-04-12 20:18:06
- Release v1.5.7 测试生成readme.md (635bcb1) - Release v1.5.6 测试生成readme.md (bdeab1b) - Release v1.5.5 测试生成readme.md (fae28b8)
## 测试生成readme.md (v1.5.3)
Release at: 2025-04-12 19:09:51
- Release v1.5.3 测试生成readme.md (baf11b2)
ActionDemo