bazelbuild / bazelbuild/continuous-integration
Provide support for releasing Starlark rules
- Dominant language
- Python
- Stars
- 302
- Forks
- 194
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 41
Description
Hello EngProd :)
I see there is a space in the Bazel ecosystem for leadership regarding releasing. Currently we have quite a few repositories that will eventually be members of the federation that don't have releases (rules_cc, rules_java, platforms, rules_foreign_cc ...). Then we have other rules that do have releases, but they've all built their own homegrown tooling around releasing (e.g. rules_go). Benefits:
* No duplicated efforts, rules owners don't have to invent their own tooling
* Removed chaos, since all rules will converge on the same solution
* Experts are owners (you :), resulting in better integration with the Bazel CI
Since I come from the 'we-don't-yet-have-releases' camp, I might be oversimplifying things, but what I think we need is:
* Build the release archive with Bazel
* Only when the whole test suite is green
* Potentially with a run of an equivalent of Bazel's downstream pipeline
* This should be deterministic - e.g. zeroing out timestamps in the archive.
* Upload the archive to Github
* Upload the archive to mirror.bazel.build
* Generate updated WORKSPACE rule snippet (e.g. https://docs.bazel.build/versions/0.26.0/skylark/deploying.html#readmehtml)
* Extra point for creating a PR with updated README.
How and where in the process should we deal with release notes?
Thank you all!
Contributor guide
Assessment
This issue has not been assessed yet.