Windows での Bazel Chocolatey パッケージのメンテナンス

前提条件

必要なもの:

  • chocolatey パッケージ マネージャーがインストールされていること
  • (公開用)bazel パッケージを公開する権限を付与するチョコレートのような API キー
    • 現在、@petemounce がこの非公式パッケージを管理しています。
  • (公開用)choco apikey -k <your key here> -s https://chocolatey.org/ を介して、チョコレートのようなソースの API キーをローカルに設定します。

構築

msys2 シェルと compile.sh を使用して bazel をコンパイルします。

pushd scripts/packages/chocolatey
  ./build.ps1 -version 0.3.2 -mode local
popd

結果として scripts/packages/chocolatey/bazel.<version>.nupkg が作成されます。

build.ps1 スクリプトは mode の値 localrcrelease をサポートします。

テスト

  1. パッケージをビルドする(-mode local を使用)

    • ウェブサーバーを実行する(scripts/packages/chocolateypython -m SimpleHTTPServer が便利で、http://localhost:8000 で起動)
  2. インストールをテストする

    test.ps1 によってパッケージがクリーンにインストールされ(正常にインストールされなかった場合はエラーになります)、次のステップが示されます。

  3. アンインストールをテストする

    choco uninstall bazel
    # should remove bazel from the system
    

ここでも、Chocolatey の管理プロセスによって確認が自動化されます。

リリース

リリースが GitHub リリースに公開されたら、新しいリリースの URI とチェックサムの tools/parameters.json を変更します。

./build.ps1 -version <version> -isRelease
./test.ps1 -version <version>
# if the test.ps1 passes
choco push bazel.x.y.z.nupkg --source https://chocolatey.org/

Chocolatey.org は自動チェックを実行し、push に対してメンテナンス担当者にメールで応答します。