-
Notifications
You must be signed in to change notification settings - Fork 25
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
Selection of Git development model and releases. #8
Comments
I think the basic idea is to do all the development in other branches and merge them back to the master after testing. The second one is talking about a develop branch, which I don't like. I would prefer a master branch which is tagged for version release based on a suitable schedule. |
I wanted to revisit this issue now since there are definitely multiple folks working on MAST and @JohnDN90 and I have been working along with pull requests for some time now. I think based on what we have been doing the last workflow listed
is what we should stick to (its close to what we've been doing already). The only thing that isn't described well in the article is what to do when
@manavbhatia if you are agreeable, I'll add a page to the documentation that tries to describe the suggested workflow with some illustrations. The other thing is we need to decide is releases. We have quite a few things we've added/updated/changed (on our repo) and we need to prioritize getting them into |
In order for my MAST spack package to work as designed and be pulled into the mainline spack repository, we need to define version numbering for MAST. I think now is also a good time to try to migrate some of the recent work back into this repository and come up with a branching/pulling strategy to incorporate stabile capabilities into releases.
As far as I can tell from reading around, a good version strategy is A.B.C where A involves major API breaking changes, B adds functionality, and C are hotfixes. Perhaps a good 0.X.0 (start X at whatever number you want) release would be to incorporate the refactored CMake build system with 3 simple examples (same problem, first do analysis, then do direct sensitivities, then adjoint sensitivities). For the 0.(X+1).0 release we can simply add more examples.
I did some searching and it seems like there are various strategies for using branches to collect commits/features into releases and manage incorporating bug-fixes.
I think one of the last two looks like it might work best.
The text was updated successfully, but these errors were encountered: