Windows での Bazel 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 リリースに公開されたら、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 は自動チェックを実行し、このプッシュに対してメンテナンス担当者にメールで対応します。