-
Notifications
You must be signed in to change notification settings - Fork 79
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
Discuss: Versioning and FVM M2 development #483
Comments
Strong preference for developing directly on master. Linear commit history and one-thing-per-commit means that the worst case where we have to revert partial development on something that doesn't have time to land is not even that bad. |
@ZenGround0 I didn't follow your line of reasoning. This isn't about merging strategy. This is about supporting concurrent development. |
Yes I understand that. I was trying to understand the reason behind a Doing development on one branch is simpler when there is not too much going on and my intuition is that these two streams combined are not big enough to violate that heuristic. If you'd strongly prefer a development branch we can make it work too. |
That isn't the motivation. The motivation is to enable concurrent development of network versions that are pipelined in time. Merging all changes to master will imply that changes slated for nv18 would end up shipping in nv17 (if master represented nv17). |
I think you're both right, but maybe with different contexts. I concur with @ZenGround0 a strong preference for development of the code that we expect to ship soon happens on We do then need a way to develop code that's targeting a release further in the future. A long-lived branch that's treated as a target for PRs is a good way of doing this. Maintainers need to continually rebase on All that said, @raulk, if changes to the init actor or account actor are ready in time for nv17, I would tend to just release them with that, following the principle of minimising work in progress. The closer that M2 comes to just flicking a switch to enable already-implemented behaviour, the better. |
I think the ask for developing in a dev branch was partially from me. reason being:
If we land on everything goes directly into master, then we need to establish stricter rules on the test coverage with each PR imho. |
We should anyway, so if |
Yeah, I like just having
This isn't really that different from the method we've used in |
@arajasek sounds like the approach I suggested in the original post, but limiting concurrency to 1 in a |
@anorth is also aligned with that approach. Re: the suggestions of shipping FVM M2-related changes (init, system, and account actors) in nv17 if they're ready, I'm strongly opposed.
|
Here is the latest proposal from the FVM perspective, assuming nv17 is for addressing selected non-FVM FIPs, an nv18 will be reserved for nv18.
with this proposal, question:
|
cc @lemmih - how does the forest used to manage this? any thoughts on the proposals above & how we should go forward? |
In short, we essentially didn't manage network versions so I have no insight to offer. :) I might be reading this discussion wrong but which branches to use is an internal matter. As long as you publish your crates and use semver, forest will be happy. |
For the record, my immediate interest is coming out with an actionable item here that we all mildly agree on. That seems to be to target all "projected" (vs. confirmed) changes to a |
M2 native should go in next with feature flags, not master imo. |
Well spotted, @vyzo. I've also updated it in the original mapping table which includes ref-fvm version alignment. |
@lemmih No such thing as an internal matter -- your (team's) input on things like this is very welcome, since it'll affect anyone building an implementation of Filecoin :) |
I will note some arguments in favour of shipping code when it's ready, though we can defer a decision until we have a concrete case to evaluate.
|
we are set for m2.1 - open new issue when m2.2 comes if needed. |
Context
The FVM M2 milestone requires changes to these actors:
Furthermore, we propose bringing in EVM actors into the builtin-actors tree (#482).
We would like to figure out ways to support concurrent development of nv17 and FVM M2 (presumably nv18).
Proposal
master
branch contains the actor changes that are confidently going to ship in the next network version, either because their FIPs have already been approved for inclusion in the next network version, or they are de facto on track for that.develop/<project name>
branches for future changes. FVM M2 develoment would happen underdevelop/fvm-m2
, but would still use the pull request process to merge changes there, so that the community has visibility and can review.The text was updated successfully, but these errors were encountered: