community
community copied to clipboard
Proposal for sig-build: a new SIG to focus on tooling for building and releasing Dapr
Introduction
With each release, the Dapr build system is getting more and more complex. In the past few releases, we have added
- Support for Dapr build variants #3168
- Support for new Windows Server 2022 images #5644
- Build Tools CLI #4729 to manage e2e and perf image builds
- Support for nightly builds #4124
There are multiple entry points for configuring build steps, including workflows, scripts, Makefiles, and CLI tools. These work at different parts of the release lifecycle, e.g. when a PR is merged to master, when a release is cut, or when tests are run. This also results in bugs going unnoticed until a release is cut, and then we have to fix them at the eleventh hour - e.g., the following fixes in the 1.11 release
- https://github.com/dapr/dapr/pull/6484
- https://github.com/dapr/dapr/pull/6482
- https://github.com/dapr/dapr/pull/6476
With this sig-build, the objective is to make the build and release process more robust and reliable. It should be easier to introduce enhancements and the process should be less error-prone.
Scope and Responsibilities
The SIG will be responsible for:
- Oversight and maintenance of existing build systems
- Enhancing the existing build system and making it robust and reliable
The main items in scope are:
- Build pipelines: Building Dapr binaries for different os/arch combinations, build flavors (stable, allcomponents), release channels (edge, nightly, rc).
- Test builds: Creating build images for e2e and perf test apps and caching of images.
Build enhancements
The first major project of sig-build will be to enhance the existing build pipeline and make it robust.
Here are some potential tooling options -
/cc @artursouza, @JoshVanL
@shubham1172 - Do you intend to take this proposal and SIG group forward?
I'd be interested in taking part if this is brought forward 🛠️
Hello @msfussell, I don't have the bandwidth right now to take this up, however I am happy to contribute if @mikeee or anyone else wants to take the SIG forward.
@msfussell @yaron2 I'd like to take this forward with more or less the same aims as SIG-Release
https://github.com/dapr/proposals/pull/68/files
SIG-Release would formalise and make the release process less transient and have the following aims:
- Document and maintain automated tooling for releases (located in dapr/release)
- Ownership and maintenance of existing build workflows
- Ensuring wide distribution of packages e.g. CLI distribution to more package repositories (snap/chocolatey...)
- Promote community attendance and active participation as part of the release process (not ownership of issues)
Post-release issues are still not a problem of the past and I would like to propose this as an item for the next STC meeting.