Revamp both the CI pipelines to avoid missing tests as well as the release process to allow for a more maintainable future.
CI Pipeline Change
Right now, we have a separate pipeline for each language, including tests. Unify these all in one so that we don't miss any tests or build steps.
New Release Process
While releasing on every merge to main was great, it's really not needed. Create a release process that is automatic every time the version number gets updated. Ideally, this would be coming from the MODULES.bazel file, and would then publish for every single language. The release pipeline should run in a test mode whenever there is a change, and in main do the following:
- Check version numbers against previous releases
- Create a new release with the version number as a tag.
Then, for each release, there should be a workflow that:
- kicks off that will build anything needed
- publish to each relevant repo
Revamp both the CI pipelines to avoid missing tests as well as the release process to allow for a more maintainable future.
CI Pipeline Change
Right now, we have a separate pipeline for each language, including tests. Unify these all in one so that we don't miss any tests or build steps.
New Release Process
While releasing on every merge to main was great, it's really not needed. Create a release process that is automatic every time the version number gets updated. Ideally, this would be coming from the MODULES.bazel file, and would then publish for every single language. The release pipeline should run in a test mode whenever there is a change, and in main do the following:
Then, for each release, there should be a workflow that: