Maintaining Bazel Chocolatey package on Windows
NOTE: The Chocolatey package is experimental; please provide feedback
(@petemounce
in issue tracker).
Prerequisites
You need:
- chocolatey package manager installed
- (to publish) a chocolatey API key granting you permission to publish the
bazel
package- @petemounce currently maintains this unofficial package.
- (to publish) to have set up that API key for the chocolatey source locally
via
choco apikey -k <your key here> -s https://chocolatey.org/
Build
Compile bazel with msys2 shell and compile.sh
.
pushd scripts/packages/chocolatey
./build.ps1 -version 0.3.2 -mode local
popd
Should result in scripts/packages/chocolatey/bazel.<version>.nupkg
being
created.
The build.ps1
script supports mode
values local
, rc
and release
.
Test
-
Build the package (with
-mode local
)- run a webserver (
python -m SimpleHTTPServer
inscripts/packages/chocolatey
is convenient and starts one onhttp://localhost:8000
)
- run a webserver (
-
Test the install
The
test.ps1
should install the package cleanly (and error if it did not install cleanly), then tell you what to do next. -
Test the uninstall
choco uninstall bazel # should remove bazel from the system
Chocolatey’s moderation process automates checks here as well.
Release
Modify tools/parameters.json
for the new release’s URI and checksum once the
release has been published to github releases.
./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 will then run automated checks and respond to the push via email to the maintainers.