7 Commits
Author SHA1 Message Date
csh 1b7eed5d93 🐛 不行就先放弃了
Hello from ImmortalWrt / say-hello (push) Successful in 0s
2025-11-03 14:29:15 +08:00
csh 3a17dc4b52 🐛 ok了嘛 2025-11-03 14:21:19 +08:00
csh e71d9d01fd 🐛 修复过滤转义失败
Hello from ImmortalWrt / say-hello (push) Successful in 0s
2025-11-03 14:08:57 +08:00
csh 160c5ebade 🐛 匹配逻辑
Hello from ImmortalWrt / say-hello (push) Successful in 0s
2025-11-03 12:04:12 +08:00
csh fb4e7f3b1f Merge branch 'main' of https://git.mytsl.cn/csh/actions-template
Hello from ImmortalWrt / say-hello (push) Successful in 0s
2025-11-03 12:00:29 +08:00
csh 9a472a4271 🐛 修复匹配正则问题 2025-11-03 12:00:14 +08:00
github-actions[bot] 0d3ccadfef 📝 Auto update CHANGELOG for 0.0.3-rc1 [skip ci]
Hello from ImmortalWrt / say-hello (push) Successful in 0s
2025-11-03 03:38:53 +00:00
2 changed files with 45 additions and 23 deletions
+25 -23
View File
@@ -94,8 +94,8 @@ env:
IGNORE_PATTERNS: >- IGNORE_PATTERNS: >-
^Merge | ^Merge |
^:memo: Auto update CHANGELOG| ^:memo: Auto update CHANGELOG|
\[skip ci\]\s*$| \\[skip ci\\]|
\[ci skip\]\s*$| \\[ci skip\\]|
^Bump version| ^Bump version|
^Release v| ^Release v|
^chore: update config$| ^chore: update config$|
@@ -182,17 +182,23 @@ jobs:
PRERELEASE_DETECTED="${{ env.RELEASE_PRERELEASE_MODE }} (manually configured)" PRERELEASE_DETECTED="${{ env.RELEASE_PRERELEASE_MODE }} (manually configured)"
fi fi
# 处理忽略模式(转换为数组 # 处理忽略模式(去除空格,保持管道分隔格式
echo "🔧 处理忽略模式..."
PROCESSED_PATTERNS=""
IFS='|' read -ra PATTERNS_ARRAY <<< "${{ env.IGNORE_PATTERNS }}" IFS='|' read -ra PATTERNS_ARRAY <<< "${{ env.IGNORE_PATTERNS }}"
IGNORE_JSON="["
for pattern in "${PATTERNS_ARRAY[@]}"; do for pattern in "${PATTERNS_ARRAY[@]}"; do
# 去除首尾空格 # 使用 sed 去除首尾空格,保留转义字符
pattern=$(echo "$pattern" | xargs) pattern=$(echo "$pattern" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
if [ -n "$pattern" ]; then if [ -n "$pattern" ]; then
IGNORE_JSON="${IGNORE_JSON}\"${pattern}\"," if [ -z "$PROCESSED_PATTERNS" ]; then
PROCESSED_PATTERNS="$pattern"
else
PROCESSED_PATTERNS="$PROCESSED_PATTERNS|$pattern"
fi
fi fi
done done
IGNORE_JSON="${IGNORE_JSON%,}]" echo "✅ 已处理 $(echo "$PROCESSED_PATTERNS" | grep -o '|' | wc -l | awk '{print $1+1}') 个忽略模式"
# 导出处理后的配置到 GitHub 环境变量 # 导出处理后的配置到 GitHub 环境变量
echo "CHANGELOG_VERSION=$CHANGELOG_VERSION" >> $GITHUB_ENV echo "CHANGELOG_VERSION=$CHANGELOG_VERSION" >> $GITHUB_ENV
@@ -203,7 +209,7 @@ jobs:
echo "PRERELEASE_STRIP_REGEX=$STRIP_REGEX" >> $GITHUB_ENV echo "PRERELEASE_STRIP_REGEX=$STRIP_REGEX" >> $GITHUB_ENV
echo "PRERELEASE_MATCH_REGEX=$MATCH_REGEX" >> $GITHUB_ENV echo "PRERELEASE_MATCH_REGEX=$MATCH_REGEX" >> $GITHUB_ENV
echo "IGNORE_PATTERNS_JSON=$IGNORE_JSON" >> $GITHUB_ENV echo "IGNORE_PATTERNS_PROCESSED=$PROCESSED_PATTERNS" >> $GITHUB_ENV
# 显示配置摘要 # 显示配置摘要
echo "" echo ""
@@ -449,13 +455,7 @@ jobs:
declare -a COMMITS_BODY declare -a COMMITS_BODY
# 从环境变量加载忽略模式 (转换为 bash 数组) # 从环境变量加载忽略模式 (转换为 bash 数组)
IFS='|' read -ra IGNORE_PATTERNS <<< "${{ env.IGNORE_PATTERNS }}" IFS='|' read -ra IGNORE_PATTERNS <<< "${{ env.IGNORE_PATTERNS_PROCESSED }}"
# 去除每个模式的首尾空格
for i in "${!IGNORE_PATTERNS[@]}"; do
IGNORE_PATTERNS[$i]=$(echo "${IGNORE_PATTERNS[$i]}" | xargs)
done
echo "📋 已加载 ${#IGNORE_PATTERNS[@]} 个忽略模式" echo "📋 已加载 ${#IGNORE_PATTERNS[@]} 个忽略模式"
COMMIT_INDEX=0 COMMIT_INDEX=0
@@ -548,8 +548,8 @@ jobs:
echo "" echo ""
echo "📊 提交统计:" echo "📊 提交统计:"
echo " 有效提交: $VALID_COUNT" echo " 有效提交: $VALID_COUNT"
echo " ⏭️ 已跳过: $SKIPPED_COUNT" echo " ⏭️ 已跳过: $SKIPPED_COUNT"
echo " 📝 总计: $((VALID_COUNT + SKIPPED_COUNT))" echo " 📝 总计: $((VALID_COUNT + SKIPPED_COUNT))"
echo "" echo ""
@@ -668,13 +668,15 @@ jobs:
echo "🔄 版本 ${CHANGELOG_VERSION} 已存在,执行内容叠加..." echo "🔄 版本 ${CHANGELOG_VERSION} 已存在,执行内容叠加..."
# 提取现有版本区域中的 commit hashes (用于去重) # 提取现有版本区域中的 commit hashes (用于去重)
EXISTING_HASHES=$(awk ' EXISTING_HASHES=$(awk -v version="${CHANGELOG_VERSION}" '
BEGIN { in_version=0 } BEGIN { in_version=0 }
/^## :bookmark: '"${CHANGELOG_VERSION}"'$/ { in_version=1; next } /^## :bookmark: / && $0 ~ version"$" { in_version=1; next }
/^## :bookmark: / && in_version { in_version=0 } /^## :bookmark: / && in_version { in_version=0 }
in_version && /\(\[([0-9a-f]{7})\]/ { in_version && /\(\[[0-9a-f]{7}\]/ {
match($0, /\(\[([0-9a-f]{7})\]/, arr) if (match($0, /\[([0-9a-f]{7})\]/)) {
print arr[1] hash = substr($0, RSTART+1, RLENGTH-2)
print hash
}
} }
' CHANGELOG.md | sort -u) ' CHANGELOG.md | sort -u)
+20
View File
@@ -1,5 +1,25 @@
# CHANGELOG # CHANGELOG
## :bookmark: 0.0.3
### :pencil: What's Changed
- :bug: 移除默认上传`CHANGELOG.md` ([9961226](https://git.mytsl.cn/csh/actions-template/commit/99612267047e4d5c48d55888eeb0d05ba12c5da1)) by @csh
- :recycle: 重构`changelog_and_release.yml` ([1f535e0](https://git.mytsl.cn/csh/actions-template/commit/1f535e0675efe166b5d38f0f0778f40d8663d318)) by @csh
- :bug: 修复commit信息提取错误 ([bf6698a](https://git.mytsl.cn/csh/actions-template/commit/bf6698ab3e7f2020dcee899f6a06166b0e6a5168)) by @csh
- 更新 CHANGELOG.md ([4ed8099](https://git.mytsl.cn/csh/actions-template/commit/4ed8099158f0f753b53a526ccba7dfc7aaad739a)) by @csh
- :bug: fix bug ([fc76a1f](https://git.mytsl.cn/csh/actions-template/commit/fc76a1f625c4c6cb42e50cadb487b7607a8d2f0a)) by @csh
- 更新 CHANGELOG.md [skip ci] ([7373553](https://git.mytsl.cn/csh/actions-template/commit/7373553270d20357a225aaf41334919086f7687d)) by @csh
- :bug: fix bug ([fa21511](https://git.mytsl.cn/csh/actions-template/commit/fa21511d1ab98e415036046bc6950f8a3b322f25)) by @csh
### :busts_in_silhouette: Contributors
<a href="https://git.mytsl.cn/csh">
<img src="https://git.mytsl.cn/csh.png" alt="csh" width="35" height="35" style="border-radius: 50%;" onerror="this.src='https://git.mytsl.cn/assets/img/avatar_default.png'" />
</a>
---
## :bookmark: 0.0.2 ## :bookmark: 0.0.2
*Released on 2025-11-02* *Released on 2025-11-02*