bazelbuild / bazelbuild/continuous-integration

Provide support for releasing Starlark rules

Open
#715 9 comments 0 reactions 1 assignee Claimed by @fweikert View on GitHub
FR
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.