File tree Expand file tree Collapse file tree 4 files changed +117
-1
lines changed Expand file tree Collapse file tree 4 files changed +117
-1
lines changed Original file line number Diff line number Diff line change 1+ new_version = get_version_without_v_prefix($ARGUMENTS) # 例: 1.0.0
2+ new_version_with_v_prefix = get_version_with_v_prefix($ARGUMENTS) # 例: v1.0.0
3+
4+ new_versionの指定がない場合、patchバージョンを現在のバージョンから+1した値をnew_version,new_version_with_v_prefixに設定します。
5+
6+ 1. 現在 main ブランチにいることを確認します。main ブランチでない場合は、この操作を中止します。
7+ 2. `git pull` を実行します。
8+ 3. `git checkout -b release/{new_version_with_v_prefix}` を実行します。
9+ 4. `src/cli/index.ts` 内のバージョンを更新します。その後、`git add` と `git commit` を実行します。
10+ 5. `pnpm version {new_version} --no-git-tag-version` でバージョンを更新します。
11+ 6. `package.json` が変更されるため、`git commit` と `git push` を実行します。
12+ 7. `gh pr create` と `gh pr merge` を実行して、リリースブランチを main ブランチにマージします。
13+ 8. 前のバージョンタグと現在のコミット間のコード変更を比較して、リリース説明を準備します。
14+ - 英語で記述します。
15+ - 機密情報は含めません。
16+ - ` What's Changed` 、`Contributors`、`Full Changelog` のセクションが必要です。
17+ - ` ./tmp/release-notes.md` をリリースノートとして使用します。
18+ 9. 予防措置として、リリース内容に非公開にすべき情報が含まれていないことを確認します。
19+ 10. `gh release create {new_version_with_v_prefix} --title {new_version_with_v_prefix} --notes-file ./tmp/release-notes.md ...` コマンドを使用して、`github.com/classmethod/tsumiki` リポジトリでタイトルとタグの両方を new_version_with_v_prefix に設定し、ステップ4の内容を説明として使用してリリースを作成します。
20+ 11. main ブランチに戻ります。
Original file line number Diff line number Diff line change 1+ name : CI
2+
3+ on :
4+ push :
5+ branches : [main]
6+ pull_request :
7+ branches : [main]
8+
9+ jobs :
10+ quality :
11+ name : Code Quality & Tests
12+ runs-on : ubuntu-latest
13+
14+ steps :
15+ - name : Checkout code
16+ uses : actions/checkout@v4
17+
18+ - name : Setup Node.js
19+ uses : actions/setup-node@v4
20+ with :
21+ node-version : ' 24'
22+
23+ - name : Install pnpm
24+ uses : pnpm/action-setup@v2
25+ with :
26+ version : 10.13.1
27+
28+ - name : Install dependencies
29+ run : pnpm install --ignore-scripts
30+
31+ - name : Check no files generated after install
32+ run : |
33+ if [ -n "$(git status --porcelain)" ]; then
34+ echo "Error: Files were generated or modified after pnpm install"
35+ git status --porcelain
36+ exit 1
37+ fi
38+
39+ - name : Run check
40+ run : pnpm check
41+
42+ - name : Run secretlint
43+ run : pnpm secretlint
44+
45+ - name : Run typecheck
46+ run : pnpm typecheck
47+
48+ - name : Build project
49+ run : pnpm build
Original file line number Diff line number Diff line change 1+ name : Release
2+
3+ on :
4+ release :
5+ types : [created]
6+
7+ jobs :
8+ publish :
9+ name : Publish to NPM
10+ runs-on : ubuntu-latest
11+
12+ steps :
13+ - name : Checkout code
14+ uses : actions/checkout@v4
15+ with :
16+ ref : main
17+
18+ - name : Setup Node.js
19+ uses : actions/setup-node@v4
20+ with :
21+ node-version : ' 24'
22+ registry-url : ' https://registry.npmjs.org'
23+
24+ - name : Install pnpm
25+ uses : pnpm/action-setup@v2
26+ with :
27+ version : 10.13.1
28+
29+ - name : Install dependencies
30+ run : pnpm install
31+
32+ - name : Run quality checks
33+ run : |
34+ pnpm check
35+ pnpm secretlint
36+ pnpm typecheck
37+
38+ - name : Publish to npm
39+ run : pnpm publish
40+ env :
41+ NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
Original file line number Diff line number Diff line change @@ -17,11 +17,17 @@ Thumbs.db
1717
1818# Dependencies
1919node_modules /
20+ .pnpm-store /
2021package-lock.json
2122yarn.lock
2223pnpm-lock.yaml
2324
2425# Build output
2526dist /
2627* .tsbuildinfo
27- assets /
28+
29+ # Claude Code
30+ .claude /settings.local.json
31+
32+ # Others
33+ tmp /
You can’t perform that action at this time.
0 commit comments