Skip to content
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

Confusing PolicyBrain releases #672

Closed
martinholmer opened this issue Sep 27, 2017 · 7 comments
Closed

Confusing PolicyBrain releases #672

martinholmer opened this issue Sep 27, 2017 · 7 comments
Labels

Comments

@martinholmer
Copy link
Contributor

@brittainhard,
You created release 1.0.2 over a week ago, but TaxBrain still isn't running that version.
And now there is a pre-release of version 1.0.3 even though there are pending pull requests.
What is pre-release 1.0.3?
Are you going to skip 1.0.2? If so, what was the point of creating release 1.0.2?
As you can see, I'm very confused about the release numbering and what it means.
Please explain.
Are you trying to follow the rules of semantic versioning?

@MattHJensen @hdoupe @GoFroggyRun

@MattHJensen
Copy link
Contributor

MattHJensen commented Sep 28, 2017

This question is best addressed to @hdoupe. We are transitioning versioning and milestone responsibilities for PolicyBrain to Hank.

@martinholmer @brittainhard @GoFroggyRun

@hdoupe
Copy link
Collaborator

hdoupe commented Sep 28, 2017

@martinholmer I'm new to versioning. So I would appreciate any advice that you may have for me. Thanks for sharing the semantic versioning link. I found that very helpful.

Version 1.0.2 was released but still had bugs. However, since it was tagged as a full release, we could not go back and make changes to this version. Version 1.0.3 is a pre-release. The pre-release Version 1.0.3 tag was pushed up to the test server for testing and two more issues were found. But, since Version 1.0.3 is a pre-release, we plan to include the fixes without bumping up to Version 1.0.4.

This pre-release system makes sense to me because we need to tag a version in order to push it to the test server for further testing. But, it is still undergoing testing. So it doesn't make sense to release a full version yet.

This is the process that I envision using:

  1. Tag pre-release and push to the test server for testing
  2. Find bugs and update pre-release with fixes
  3. Push the same version (but with the fixes) to the test server
  4. Upon getting sufficiently satisfying performance, do a full release and push the full release to the production server. At this point, any modifications to the code base will go into a different release.

@martinholmer @brittainhard @GoFroggyRun @MattHJensen how does this process sound?

@martinholmer
Copy link
Contributor Author

martinholmer commented Sep 28, 2017

@hdoupe said in discussion of #672:

Version 1.0.2 was released but still had bugs.

That's my core question: why did @brittainhard do that?
Why not fix the bugs in a pre-release 1.0.2 and then release 1.0.2?

@martinholmer
Copy link
Contributor Author

@hdoupe said:

This is the process that I envision using:

  1. Tag pre-release and push to the test server for testing
  2. Find bugs and update pre-release with fixes
  3. Push the same version (but with the fixes) to the test server
  4. Upon getting sufficiently satisfying performance, do a full release and push the full release to the production server. At this point, any modifications to the code base will go into a different release.

This makes sense to me. Do you have the permissions required to do all these steps yourself?

@brittainhard
Copy link
Contributor

@martinholmer we are still working out kinks in the PolicyBrain release process. I talked to Matt about this on a call last Friday.

Setting up a consistent, well managed release process is difficult for any project that has many contributors, especially open source projects, which tend to be much more loosely organized. Indeed, in my experience, solid release processes in this context are the exception rather than the rule.

There is often the temptation for "feature creep". In open source applications. There is always a way to make something better than it was before, and there is always an urge to make it available sooner rather than later. Going forward, my plan is to have us stick to milestones very closely.

With version 1.0.3, we had code that was a combination of bugfixes and features. I felt that since it contained both of these, we needed a new version rather than an update to version 1.0.2. If we re-released version 1.0.2 with this new code we would be re-writing the version history, so I chose to create a new tag.

@hdoupe
Copy link
Collaborator

hdoupe commented Sep 28, 2017

@brittainhard said:

With version 1.0.3, we had code that was a combination of bugfixes and features. I felt that since it contained both of these, we needed a new version rather than an update to version 1.0.2. If we re-released version 1.0.2 with this new code we would be re-writing the version history, so I chose to create a new tag.

This makes sense to me. Do you think that PR's #670 and #671 fit under Version 1.0.3?

@martinholmer
Copy link
Contributor Author

@hdoupe and @brittainhard, thanks for all the explanation about how the PolicyBrain release process is going to work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants