-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Fix release process feature freeze info #19148
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
base: master
Are you sure you want to change the base?
Conversation
I don't think this is an accurate change. The policies document says:
and
Highlighting mine. This means the policies document defines the feature freeze to happen at the time of Beta 1 and define the feature freeze as “Release Managers need to approve changes that are a feature”, which is a reversal of the process before feature freeze where features may be shipped by gentleman's agreement. |
Specifically this also means that RFCs with a non-trivial implementation should be voted on well before the voting deadline, since release managers have the ultimate decision regarding whether or not the implementation is “too risky” to stabilize during Betas and RCs (possibly taking the greater ecosystem into account). |
Ah I missed this one. I think it was kind of left by accident because we specifically put this to the RFC:
Think it was driven by RFC so the changes to the policy came later IIRC or it was just missed. But logically if we allow features it shouldn't be called a feature freeze
Previous official process was not to allow any features except the RFC implemenation features. We just did not follow it and merge some features.
Yeah I think that you are right here. It was actaully not an intention but it ended up like this. Ok I think I need to reword this and probably still keep the name "feature freeze" even though I don't really like it. |
596c628
to
ccd5b3a
Compare
Ok I rewrote it to more reflect the policy. So I kind of split it to soft and hard feature freeze. Let me know if that looks better. |
4-weeks, 3-weeks, 2-weeks, and 1-week prior to the feature freeze. This is a | ||
recommendation and the intervals may vary based on work load. | ||
the upcoming soft feature freeze by posting reminders to | ||
internals@lists.php.net at 5 weeks, 4 weeks, 3 weeks, 2 weeks, and 1 week prior |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the 5 weeks is new, is that intentional?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes sense to me to have the 5 week reminder, since that gives folks one week to finalize the RFC before needing to start the discussion (= the RFC text will be less rushed).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that was exactly the point to give time for announcing the RFC that can still make it...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe even 6 weeks would make more sense then, as that can be announced together with the alpha1 tag?
"We're starting the release procedure now. Here is alpha1. Reminder: You have two weeks to get your RFCs ready for voting."
Yes, this looks much better now. I had one minor wording remark, but other than that it LGTM and seems to match both the policy and the “actual practice”. |
ccd5b3a
to
d9c1140
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a release manager, but the updates all make sense to me and I don't have any further concerns.
For any RFCs to be included in the new release, they should be discussed and | ||
have their voting polls closed no later than when the first beta is released. | ||
However, this does not mean the new feature must have a complete implementation | ||
by this date. Such implementation can be merged only with RM approval and must |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need RM approval for
- before hard feature freeze
- with a successful RFC
those should be done with the normal review process. https://wiki.php.net/rfc/release_cycle_update doesn't make it clear if
The recommendation is to not accept extensive refactoring, but this would not be a hard requirement, and Release Managers must approve any such small feature during the beta period, as is already the case.
if "as is already the case" is about approving small non-RFC features, or all features
My main struggle with this is that neither the policy doc. nor the RFC clearly defines what a "Feature" is. Even the linked Wikipedia article leaves it open to interpretation.
So, to me, the terms "soft" and "hard" feature freeze don't really change the process - they introduce two more labels with specific meanings, but they are defined in the new text. Which is an improvement. Tim mentioned that Debian uses similar terminology, which I found clear and helpful: https://release.debian.org/testing/freeze_policy.html#soft That said, this mainly needs to work for php-src contributors. So I defer to your judgment - if requiring explicit RM approval for merging voted RFCs between beta1 and RC1 makes sense, I’m on board. But then shouldn't all bigger refactorings require approval? |
AFAIK the only time an RM has ever used its right to potentially veto a merge was this comment: #7468 (comment) and that was already in RC. IMHO RMs should not be able to deny merging of PRs and features as @edorian pointed out this could also be extended to major refactorings, which should be allowed. Moreover, RMs are not expected to have the php-src knowledge to judge the quality of an implementation. And I don't think I have ever seen a RM block a merge. |
This is currently incorrect as there has been changes to the release process in https://wiki.php.net/rfc/release_cycle_update#allow_features_that_do_not_require_an_rfc_in_the_beta_period so the new policy for beta allows new features: https://github.com/php/policies/blob/06ef24434942f3b09241ccbde124b83ca8a18042/release-process.rst#beta-releases