-
Notifications
You must be signed in to change notification settings - Fork 162
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
Establish a Beta Release #312
Comments
How do you envision it to work? My thinking is that with the limited maintainer time and given the small amount of breaking changes continuously maintaining multiple branches and backporting all changes is not worth the effort. So I would suggest the below workflow.
Whenever we switch the |
I was thinking about following the
|
Sibling bug: karma-runner/karma#3774 |
One question that is unclear to me still: Will each breaking commit (indicated by the "BREAKING CHANGE:" footer) trigger a new major pre-release in the For example, let's say that the latest stable version currently is v4.0.2. We diverge from it via the WDYT @devoto13 ? |
I think it will make Otherwise, the proposed approach sounds good to me! |
This should be the same across all the other repos that need a beta release. Do you agree @devoto13 ? |
@karma-runner/google-web-test-team |
It sounds like @jginsburgn's clarifications addressed @devoto13's concerns re:limited maintainer time, continuously maintaining multiple branches and backporting all changes. I would like to nail down the positive/negative impacts of this change a bit more. Positive is that we mitigate breaking changes reaching stable. Negative is some increased complexity in the project; will there also be a tax on contributors and maintainers once this is set up? Was there some incident that inspired filing this issue, or are you just being proactive? When you talk about "breaking changes", do you mean our CI still passes but downstream users may be broken e.g. due to API migrations/etc? It seems you're referring to intentionally breaking changes, which contrasts with unintentionally breaking changes which should be caught by CI. |
I don't think contributors are affected in any way. Slight extra effort required from the maintainers to backport occasional fixes to another branch, but IMO that shouldn't be significant.
We use We would still use
Yes, it's intential breaking changes. E.g. drop support for the obsolete Node version, remove deprecated or obsolete APIs, etc. As I understand these should not be breaking changes for Google as all usages should be cleaned up prior to landing the change, but for external user it goes other way around and we should communicate such changes with major version bump. |
Nope, go for it! |
I'd be happy to test beta releases out in our StrykerJS e2e test suite. Especially if it saves us having to fix breaking issues for users later on 😅 Q: How will these beta releases be communicated? |
@nicojs that is a great idea! I think it would make our release process safer. I haven't thought about how to decide when to merge the In parallel, however, I think we could add the Stryker e2e test suite as an extension of our integration tests repo and run it as a step in every PR. Tell me your thoughts. |
Having a beta release (or better said: prerelease) will let us incrementally produce a major (with breaking changes), better tested, more significant stable release. PRs tagged with
breaking
should be filed against the beta branch.The text was updated successfully, but these errors were encountered: