Skip to content

ci: 主分支更新后自动按语义化版本发版 - #2

Merged
CassianFlorin merged 1 commit into
mainfrom
ci/auto-release-on-main
Jun 29, 2026
Merged

ci: 主分支更新后自动按语义化版本发版#2
CassianFlorin merged 1 commit into
mainfrom
ci/auto-release-on-main

Conversation

@CassianFlorin

Copy link
Copy Markdown
Owner

背景

项目此前没有任何 CI/CD,版本靠手动打 tag(现有 v0.2.0v0.4.0)。本 PR 让主分支更新后自动产出新版本。

改动

.github/workflows/release.yml — 主分支自动发版

  • push 到 main → 先跑测试(python -m unittest,全 stdlib)作为门禁
  • 测试通过后按 Conventional Commits 自动算语义化版本(feat→minor,fix→patch,BREAKING CHANGE→major)
  • vX.Y.Z tag(沿用现有命名)并发布 GitHub Release,notes 用自动 changelog

.github/workflows/ci.yml — PR / 非 main 分支测试

  • 在 PR 和非 main push 时跑测试(Python 3.10 + 3.12 矩阵)

说明

  • 发版只推 tag,不会再触发 push: main,无死循环
  • default_bump: patch:主分支每次更新都出新版本;若只想在 feat/fix 时发版,改为 default_bump: false
  • 用内置 GITHUB_TOKEN(已声明 contents: write),需确保仓库 Actions 权限允许写入

🤖 Generated with Claude Code

新增两个 GitHub Actions 工作流:
- release.yml:push 到 main 时先跑测试,再按 Conventional Commits
  自动计算版本、打 vX.Y.Z tag 并发布 GitHub Release。
- ci.yml:PR 与非 main 分支 push 时运行测试(Python 3.10/3.12)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@CassianFlorin
CassianFlorin merged commit ebb29d9 into main Jun 29, 2026
4 checks passed
@CassianFlorin
CassianFlorin deleted the ci/auto-release-on-main branch July 30, 2026 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant