Open4
semantic-releaseを使って簡単にバージョン番号管理とリリースノート発行をするための勉強メモ
semantic-release
これはなに?
semantic-release automates the whole package release workflow including: determining the next version number, generating the release notes, and publishing the package.
バージョニング、リリースノート作成、パッケージの発行といったパッケージのリリースに関わるワークフロー全体の自動化のためのツールsemantic-releaseについてメモしたもの。
ただしこのスクラップではnpmパッケージの発行についてはほぼ触れずにいくつもり。
また適宜CIツールとしてGiHub Actionsを使う。
※GitHub Actionsで遊ぶで簡単な使い方メモを書き進めている
CI上での作業
$ npx semantic-release
注意
semantic-relaseの処理はテスト等全て終わった後でやる必要がある。
CHANGELOG
release-notes-generatorでCHANGELOGの中身を作り、@semantic-release/changelogで実際のファイル作成・更新を行うというプラグインの役割分担をさせている。(ややこしいなぁ!!(#^ω^))
release-notes-generatorの設定
下記でrelease-notes-generatorの設定のやり方が記載。
name | type | required | default | description |
---|---|---|---|---|
type | string |
✔️ | N/A |
A string used to match <type> s used in the Conventional Commits convention. |
section | string |
✖️ | N/A |
The section where the matched commit type will display in the CHANGELOG. |
hidden | boolean |
✖️ | N/A |
Set to true to hide matched commit type s in the CHANGELOG. |
例えばfeat
というprefixがついているコミットをCHAGELOGのFeatures
に載せたいなら
{"type": "feat", "section": "Features", "hidden": false},
@semantic-release/changelogの設定
TODO
プルリクへのタグ付け