Description
Description
Releasing gems is a difficult process that is error prone. I have had several instances where I have had to manually update/repair issues with the releases due to transitive dependencies and local Gemfile references.
I have also had occasions where I have missed rolling out gem dependencies in the proper order. The most recent being missing a release of base
changes that were also included as part of changes to support the new graphql
API:
The local gem references also cause friction during a release because it will require an update to all
and possibly the rails
gems due to transitive dependencies.
I currently have to make additional changes on a release branch in order for the gem dependencies to resolve correctly during a build:
This ends up triggering an unintended gem push for the gem I had to update manually on the release branch, even though It is not intentional:
Lastly, Actions Bots creating PRs from release requests do not trigger CI matrix builds. This requires the person performing the release to manually force CI by submitting empty commits or corrections to the change log.
What am I asking for?
I would like for the release process to be aware of gem dependencies and all of the changes that are required to ensure a release can go out safely and not have to keep track of what order gems must be released in.
In addition to that I want to know what gems have pending changes that have not yet been released or automatically generate release requests on my behalf.
I would also like to be able to release all versions of sub-packages like instrumentation
without having to enumerate them all when opening a release request.
Lastly, I want for Release Request PRs to trigger CI matrix builds by default