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 スクリプトは、modelocalrcrelease をサポートしています。

テスト

  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 リリースに公開されたら、tools/parameters.json を新しいリリースの URI とチェックサムに変更します。

./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 は自動チェックを実行し、メンテナーにメールでプッシュに返信します。