- mise(タスクランナー・ツールバージョン管理)
- Visual Studio Build Tools(C++ ビルドツール)
mise install && mise run setupcargo・node・pnpmなどのコマンドはシステムにインストールされたものではなく、mise経由で実行する。
mise runタスク経由、またはmiseが管理するPATH上のバイナリを使用する。
日常的に使用するのは次の2つ。
| コマンド | 内容 |
|---|---|
mise run format |
フォーマット + 軽量lint(開発時の手動実行用。自動修正あり) |
mise run test |
全チェック実行(これを通過すればコミット可能) |
git commit時にはpre-commitフックがmise run testを自動実行する。
その他のタスクを以下に示す。
| コマンド | 説明 |
|---|---|
mise run setup |
開発環境のセットアップ |
mise run build |
リリースビルド |
mise run clean |
ビルド成果物の削除 |
mise run update |
依存パッケージの更新 |
mise run docs |
ドキュメントのローカルプレビュー |
mise run testはcargo-clippy・cargo-test・cargo-deny・markdownlint・textlint等を一括実行する。
Linux環境ではlint系(textlint / markdownlint / prettier)のみ確認可能。
cargo-clippy / cargo-test / cargo-denyはWindowsターゲットのためLinuxでは失敗する。
cargo-deny(deny.toml設定)でライセンスチェックと脆弱性アドバイザリチェックを実施する。
mise run testに組み込まれているため、コミット前に自動実行される。
GitHub Actionsのワークフローはpinactでハッシュピン留めして実行する
(mise run updateでハッシュピン更新が可能)。
taiki-e/install-action@cargo-denyはツール名タグ形式のためpinactでハッシュピン不可(.pinact.yamlで除外済み)。
ドキュメントはVitePressで構築し、GitHub Pagesでホストする (URL: https://ak110.github.io/gv/)。
- ローカルプレビュー:
mise run docs - 自動デプロイ: masterブランチへのpush時に
Docsワークフローが自動実行される(docs/以下またはpackage.jsonの変更時のみ)
GitHub ActionsのReleaseワークフローを手動実行してリリースする。
rem リリース実行 (いずれか1つ)
gh workflow run release.yaml --field="bump=PATCH"
gh workflow run release.yaml --field="bump=MINOR"
gh workflow run release.yaml --field="bump=MAJOR"
rem ワークフロー完了を待ち、バージョンバンプコミットを取り込む
for /f "usebackq" %i in (`gh run list --workflow=release.yaml -L1 --json=databaseId -q ".[0].databaseId"`) do gh run watch %i && git pull