mirror of
https://github.com/t8y2/dbx.git
synced 2026-10-24 14:26:33 +00:00
61 lines
1.4 KiB
Bash
Executable File
61 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# 自动打 tag 并推送触发发布
|
|
# 用法:
|
|
# ./scripts/release.sh # 自动递增 patch 版本
|
|
# ./scripts/release.sh minor # 递增 minor 版本
|
|
# ./scripts/release.sh major # 递增 major 版本
|
|
# ./scripts/release.sh agents-v0.3.0 # 手动指定版本号
|
|
|
|
BUMP="${1:-patch}"
|
|
|
|
# 获取最新的 agents-v 开头的 tag
|
|
latest_tag=$(git tag --sort=-v:refname | grep '^agents-v' | head -1)
|
|
|
|
if [ -z "$latest_tag" ]; then
|
|
echo "未找到任何 Agent 版本 tag,从 agents-v0.1.0 开始"
|
|
latest_tag="agents-v0.0.0"
|
|
fi
|
|
|
|
echo "当前最新 tag: $latest_tag"
|
|
|
|
# 去掉 agents-v 前缀
|
|
version="${latest_tag#agents-v}"
|
|
IFS='.' read -r major minor patch <<< "$version"
|
|
|
|
# 计算新版本号
|
|
case "$BUMP" in
|
|
major)
|
|
new_tag="agents-v$((major + 1)).0.0"
|
|
;;
|
|
minor)
|
|
new_tag="agents-v${major}.$((minor + 1)).0"
|
|
;;
|
|
patch)
|
|
new_tag="agents-v${major}.${minor}.$((patch + 1))"
|
|
;;
|
|
agents-v*)
|
|
new_tag="$BUMP"
|
|
;;
|
|
*)
|
|
echo "错误: 未知的版本递增方式 '$BUMP',请使用 patch/minor/major 或 agents-vX.Y.Z"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo "新版本: $new_tag"
|
|
|
|
# 确认
|
|
read -r -p "确认创建并推送 tag ${new_tag}? [y/N] " confirm
|
|
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
|
|
echo "已取消"
|
|
exit 0
|
|
fi
|
|
|
|
# 创建并推送 tag
|
|
git tag "$new_tag"
|
|
git push origin "$new_tag"
|
|
|
|
echo "完成! tag $new_tag 已推送,CI 将自动触发发布流程。"
|