refactor(release): switch release integrity to be dynamic (#854) * refactor(release): switch release integrity to be dynamic This matches rules_py as documented by https://blog.aspect.build/releasing-bazel-rulesets-rust It has the benefit that developers no longer get yelled at to vendor some updated integrity hashes into bazel-lib every time they touch the Go sources. * refactor: echo should produce trailing newline * chore: bump action-gh-release to avoid Node 16 warning * chore: update test that is sensitive to compilation mode We now only use --compilation_mode=opt when cutting a release
Base Starlark libraries and basic Bazel rules which are useful for constructing rulesets and BUILD files.
This module depends on bazel-skylib. In theory all these utilities could be upstreamed to bazel-skylib, but the declared scope of that project is narrow and it‘s very difficult to get anyone’s attention to review PRs there.
bazel-lib is just a part of what Aspect provides:
Installation instructions are included on each release: https://github.com/aspect-build/bazel-lib/releases
To use a commit rather than a release, you can point at any SHA of the repo.
For example to use commit abc123:
url = "https://github.com/aspect-build/bazel-lib/releases/download/v0.1.0/bazel-lib-v0.1.0.tar.gz" with a GitHub-provided source archive like url = "https://github.com/aspect-build/bazel-lib/archive/abc123.tar.gz"strip_prefix = "bazel-lib-0.1.0" with strip_prefix = "bazel-lib-abc123"sha256. The easiest way to do this is to comment out the line, then Bazel will print a message with the correct value.Note that GitHub source archives don't have a strong guarantee on the sha256 stability, see https://github.blog/2023-02-21-update-on-the-future-stability-of-source-code-archives-and-hashes