-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Enhancement] Block features from getting merged in to release branch after a release #4223
Comments
@smortex @CEHENKLE @Divyaasm @dblock @peternied @reta @joshuarrrr @macohen @scrawfor99 @krisfreedain @davidlago Please provide your inputs on this issue. |
If I am correct, backports are triggered by adding labels to pull-requests. While automating the detection of mislabeling seems required in order to avoid the wrong merges we have seen, the detection criteria based on commit messages or commit size seems fragile: a mis-written commit message should prevent a PR from being merged (which is unfriendly for contributors), and the commit size might be an indicator, but changing a default value from true to false will probably be a breaking change that is accepted because it is under the limit; and fixing a typo that has been copied over and over in many file can be rejected because it is above this limit. In order to avoid these pitfalls, I would like to propose another kind of automation based on (more) labels: maintainers can add and remove them quickly (so it is not one more burden on the contributors), and we can rely on automation with GitHub actions to detect inconsistencies and request fixes (and even automate more if required). The
|
Proposal: Review changes during while creating patch releaseI recommend that we repeat inspection of changes in minor release branches, as what was done for the 2.11.1 release. IMO the failing in 2.11.1 was a human understanding of how those branches were used and what expectation where to be followed. With the drastic shift to revert changes in the 2.11.1 I have a feeling these expectations have been reset and communicated. Benefit of this process is that maintainers continue to have autonomy to merge checkstyle or spotless fixes in to a X.Y branches. If owners of the OpenSearch distribution want to put a change into question IMO that is there prerogative, I would recommend approaching this on a case by case basis its easier to understand and educate around particular changes. The biggest drawback is that a some repositories could delay the release during a critical release moment - which aligns with existing issues with repos merging patch version bumps. In the event there is critical release that is held up - there are many engineers across the OpenSearch-Project that could be engaged to address the different repositories. |
Is there an automated, easy way to include the set of changes since release in the build for easy examination? Maybe as part of an automated CHANGELOG generation process. |
@bbarani I never tried it myself, basically the More globally, a lot of What would be the algorithm you have in mind?
|
Adding @getsaurabh02 to this issue as we recently had a discussion about ways to block or minimize the commits going in x.y branches. |
Is your feature request related to a problem? Please describe
OpenSearch project follows semVar and as per semVar guidelines, only backward compatible bug fixes are acceptable in patch release.
Hving said that, we recently identified multiple features and enhancements backported in to the 2.11 branch post the 2.11 release as listed here delaying the ability to release of 2.11.1 patch version in timely manner.
Describe the solution you'd like
Implement a process, mechanism and add necessary guard rails to enforce SemVar standards across all repos in OpenSearch organization.
Some of the possible approaches (I can think of!) :
Adding documentation and relying on maintainers would not work all the time so we need to add automated mechanisms and guard rails to surface these anomalies in proactive manner.
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: