Skip to content

Commit 7feda7c

Browse files
committed
feat: release-pleaseを用いたバージョン管理とCHANGELOG生成の自動化を追加
1 parent e39d68e commit 7feda7c

File tree

5 files changed

+128
-0
lines changed

5 files changed

+128
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: release-please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: write
11+
pull-requests: write
12+
13+
jobs:
14+
release:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Release Please
18+
uses: google-github-actions/release-please-action@v4
19+
with:
20+
config-file: release-please-config.json
21+
manifest-file: .release-please-manifest.json

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "1.0.0"
3+
}

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
This file is maintained automatically by release-please (Conventional Commits).
5+
6+
## [1.0.0] - 2025-09-26
7+
### Added
8+
- Initial public release.
9+
- Core browsing of AtCoder related resources (problems list & detail view).
10+
- Code editor with syntax highlighting & LaTeX/Markdown rendering.
11+
- Sample test run integration (Wandbox API).
12+
- Offline font integration (HackGen family) & multiple themes.
13+
- F-Droid flavor with self-update disabled & offline fonts.
14+

README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,39 @@ flutter build apk \
155155

156156
ご協力ありがとうございます!
157157

158+
## リリース運用 (release-please)
159+
160+
このリポジトリは [release-please](https://github.com/googleapis/release-please) を使ってバージョン管理と CHANGELOG 生成を自動化しています。
161+
162+
### 仕組み概要
163+
1. `main` ブランチにマージされた Conventional Commits 形式のコミットを解析
164+
2. 差分に基づき自動でリリース PR (例: `chore: release 1.1.0`) を作成
165+
3. その PR をマージすると:
166+
- `pubspec.yaml` の version が更新
167+
- `CHANGELOG.md` に該当エントリが追加
168+
- Git タグ & GitHub Release (Release Notes) が作成
169+
170+
### コミットメッセージ例 (推奨)
171+
```
172+
feat(editor): コード補完ショートカット追加
173+
fix(parser): サンプル入出力の末尾改行処理
174+
perf(syntax): ハイライト初期化高速化
175+
refactor(ui): テーマ切替ロジック整理
176+
docs(readme): 使い方セクション更新
177+
```
178+
179+
### 手動でのリリースを避けるための注意
180+
- `pubspec.yaml` の `version:` は release-please の PR にのみ変更を任せる
181+
- 直接 `CHANGELOG.md` の既存セクションを書き換えない (追加は OK)
182+
- 大きな破壊的変更はコミット種別では `feat!:` としてメジャーアップグレードを誘発
183+
184+
### 次回リリース手順 (開発者はやることほぼ無し)
185+
1. 通常通り PR を `main` へマージ (コミットメッセージ規約遵守)
186+
2. Bot が作るリリース PR をレビュー
187+
3. マージ = リリース確定
188+
189+
`CHANGELOG.md` と GitHub Release Notes は同期されるため、F-Droid メタデータ更新時にも参照しやすくなります。
190+
158191
## ライセンス
159192
160193
このプロジェクトはGNU General Public License v3.0(GPLv3)のもとで公開されています。詳細はリポジトリ内の[LICENSE](LICENSE)をご覧ください。

release-please-config.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3+
"packages": {
4+
".": {
5+
"release-type": "dart",
6+
"changelog-path": "CHANGELOG.md",
7+
"include-component-in-tag": false,
8+
"bump-minor-pre-major": true,
9+
"bump-patch-for-minor-pre-major": true,
10+
"draft": false,
11+
"pull-request-title-pattern": "chore: release ${version}",
12+
"changelog-types": [
13+
{
14+
"type": "feat",
15+
"section": "Features"
16+
},
17+
{
18+
"type": "fix",
19+
"section": "Fixes"
20+
},
21+
{
22+
"type": "perf",
23+
"section": "Performance"
24+
},
25+
{
26+
"type": "refactor",
27+
"section": "Refactor"
28+
},
29+
{
30+
"type": "docs",
31+
"section": "Documentation",
32+
"hidden": true
33+
},
34+
{
35+
"type": "test",
36+
"section": "Tests",
37+
"hidden": true
38+
},
39+
{
40+
"type": "chore",
41+
"section": "Chore",
42+
"hidden": true
43+
},
44+
{
45+
"type": "build",
46+
"section": "Build",
47+
"hidden": true
48+
},
49+
{
50+
"type": "ci",
51+
"section": "CI",
52+
"hidden": true
53+
}
54+
]
55+
}
56+
}
57+
}

0 commit comments

Comments
 (0)