リリース手順

August 3, 2026 · View on GitHub

LocalMCPChatClientは、Gitタグとアプリのバージョンが一致した場合にGitHub ActionsからReleaseを公開します。

バージョン情報

バージョンの情報源はリポジトリ直下のDirectory.Build.propsです。

<Version>0.1.2</Version>
<VersionPrefix>0.1.2</VersionPrefix>
<AssemblyVersion>0.1.2.0</AssemblyVersion>
<FileVersion>0.1.2.0</FileVersion>
<InformationalVersion>0.1.2</InformationalVersion>

リリースタグはv<Version>形式にします。例えばバージョン0.1.2のタグはv0.1.2です。タグとDirectory.Build.propsの値が一致しない場合、CIはReleaseを作成せず失敗します。

Release成果物

ファイル内容
LocalMCPChatClient-<version>-win-x64.zipself-contained PortableフォルダーのZIP
LocalMCPChatClient-<version>-win-x64.zip.sha256ZIPのSHA-256
LocalMCPChatClient-<version>-win-x64.exeself-contained単体EXE
LocalMCPChatClient-<version>-win-x64.exe.sha256EXEのSHA-256
LocalMCPChatClient-<version>-LICENSE.txtLocalMCPChatClient本体のMIT License
LocalMCPChatClient-<version>-THIRD-PARTY-NOTICES.txt同梱ライブラリの第三者通知一覧

Portable ZIPには上記に加えてlicensesフォルダーを含めます。単体EXEにはライセンス文書を埋め込み、「設定」から表示できるようにします。モデル、llama-server、DB、ログはどの成果物にも含めません。

リリース前チェック

  1. CHANGELOG.mdへ対象バージョンの変更内容を追加する
  2. Directory.Build.propsのバージョンを更新する
  3. READMEと資料中の固定バージョン例を確認する
  4. Releaseビルドとテストを実行する
  5. Portable ZIPと単体EXEをローカル発行する
  6. EXEのFileVersionとProductVersionを確認する
  7. クリーンなWindows環境で初回セットアップを手動確認する
  8. Portable出力にLICENSE.txtTHIRD-PARTY-NOTICES.txtlicensesフォルダーがあることを確認する
  9. 単体EXEの「設定」からすべてのライセンス文書を表示できることを確認する
./scripts/check-large-files.ps1
./scripts/bootstrap.ps1 -Configuration Release

dotnet publish src/LocalMCPChatClient.App/LocalMCPChatClient.App.csproj `
  -c Release -r win-x64 --self-contained true -o artifacts/portable

dotnet publish src/LocalMCPChatClient.App/LocalMCPChatClient.App.csproj `
  -c Release -p:PublishProfile=win-x64-single-file -o artifacts/single-file

(Get-Item artifacts/single-file/LocalMCPChatClient.exe).VersionInfo |
  Select-Object FileVersion, ProductVersion

タグを公開する

検証済みコミットでタグを作成してpushします。

git tag -a v0.1.2 -m "LocalMCPChatClient 0.1.2"
git push origin v0.1.2

タグのpushでCIが実行されます。build、test、2形式のpublish、バージョン検証、ハッシュ作成が成功すると、Releaseが自動公開されます。

公開後チェック

  • GitHub ReleaseがDraftやPrereleaseになっていないこと
  • ZIP、EXE、それぞれのSHA-256、アプリライセンス、第三者通知の6成果物が添付されていること
  • .sha256のファイル名とハッシュが対応していること
  • 単体EXEのプロパティに意図した製品・ファイルバージョンが表示されること
  • Portable ZIPと単体EXEの双方で初回画面が起動すること
  • Portable ZIP内とアプリ内のライセンス文書が欠けていないこと