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

Versioning & Release Strategy #20

Closed
mefellows opened this issue Jan 28, 2015 · 2 comments
Closed

Versioning & Release Strategy #20

mefellows opened this issue Jan 28, 2015 · 2 comments
Labels
Milestone

Comments

@mefellows
Copy link
Contributor

We need to agree on a sensible versioning and release strategy.

Some food for thought:

  • Assuming we will go with semantic versioning, how should we start the numbering?
  • Should we consider aligning to the upstream Packer projects' versioning scheme (i.e. 0.7.5 current version) or just roll with our own?
  • What do we agree is a minimum set of requirements for our first 'release'?
  • Do we need to have feature 'parity' with upstream Packer before we can say we are ready to release?
  • ...or can we focus on the 'core' of the project - swapping out the Communicator - and release incrementally from there?

Let's get the conversation started!

@mefellows
Copy link
Contributor Author

Here are my current thoughts:

  1. We don't need to have feature Parity with Packer, I feel that it would likely be unachievable both with the amount of core committers and little dedicated time we have. Let the community drive the feature needs.
  2. We keep our versioning scheme independent of Packer, and we advertise the compatible versions of each release (using semantic versioning as a guide). We may need to consider adopting a Go dependency mgmt scheme if we do diverge from source, but only if we must.
  3. First release requirements: Assuming 1, we should create a Milestone and note the features we've currently implemented and the remaining elevated user issue (Elevated shell runner doesn't work #4) with WinRM - this should be our first release IMO.
  4. Versioning & Semantics: semver suggests starting at 0.1.0 for rapid development and/or changing APIs. I propose we start releasing immediately at 0.1.0 and set our first major release 1.0.0 as a milestone for when Elevated shell runner doesn't work #4 is fixed. I feel that we already have a fair amount of stability in the plugins - I'm using them daily and they are working nicely.
    1. I don't see us changing the interfaces much and if we do then we can version bump versions anyway.
    2. Releasing now also means that we can start to distribute through other package management channels (Chocolatey and Brew, for example) to make adoption easier
    3. Any new plugin additions bump the minor version and bug fixes, small enhancements etc. bump micro

Let me know what you think!

@mefellows mefellows added this to the v1.0.0 milestone Mar 22, 2015
@mefellows
Copy link
Contributor Author

I'll take silence as consensus :)

Given that #4 is now sorted, I've taken the liberty of creating a v1.0.0-RC in preparation for our first release (v1.0.0). I plan to get the team here at Seek to play with the latest binaries over the next week or so and if things continue to work we can release!

I'm going to close this issue now working with the above notes as a guideline.

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

1 participant