Skip to content

Bump Version

Bump Version #9

name: Bump Version
on:
workflow_dispatch:
inputs:
version:
description: '新版本号 (如 v2026.2.1)'
required: true
jobs:
bump:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
token: ${{ secrets.PAT_TOKEN }} # 需要一个具有写权限的个人访问令牌
- name: Set new version to env
run: |
echo "NEW_VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
echo "NEW_VERSION_DATE=$(date +'%Y/%m/%d')" >> $GITHUB_ENV
- name: Validate version format
run: |
VERSION="${{ github.event.inputs.version }}"
if ! echo "$VERSION" | grep -qE '^v[0-9]{4}\.[0-9]{1,2}(\.[0-9]+)?(-rc[0-9]+)?$'; then
echo "版本格式错误,应为 v2026.2.1 或 v2026.2.1-rc1"
exit 1
fi
- name: Set version without v
run: |
VERSION="${{ github.event.inputs.version }}"
echo "NEW_VERSION_WITHOUT_V=${VERSION#v}" >> $GITHUB_ENV
# 为 Debian 包去除 -rc 后缀
DEBIAN_VERSION="${VERSION#v}"
DEBIAN_VERSION="${DEBIAN_VERSION%-*}"
echo "NEW_VERSION_DEBIAN=$DEBIAN_VERSION" >> $GITHUB_ENV
- name: Update devel/200_22.md
run: |
# 在第3行插入新版本记录
sed -i "3i## ${{ env.NEW_VERSION_DATE }} ${{ env.NEW_VERSION }} 打包" devel/200_22.md
# 在第4行插入空行作为分隔
sed -i "4i\\" devel/200_22.md
- name: Update packages/debian/package.sh
run: |
# 更新 Debian 打包脚本中的默认版本号(不带 -rc 后缀)
sed -i 's/^ VERSION="[^"]*"/ VERSION="${{ env.NEW_VERSION_DEBIAN }}"/' packages/debian/package.sh
- name: Update xmake/vars.lua and Git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
sed -i 's/^XMACS_VERSION="[^"]*"/XMACS_VERSION="${{ env.NEW_VERSION_WITHOUT_V }}"/' xmake/vars.lua
git add .
git commit -m "[200_22] bump to Mogan STEM ${{ env.NEW_VERSION }}"
# 打 Tag
git tag ${{ env.NEW_VERSION }}
git push origin ${{ github.ref_name }}
git push origin ${{ env.NEW_VERSION }}