An example release workflow using GitVersioning would be helpful in docs.
Trying to figure out how to use GitVersioning during my git-flow-structured release process. Having an outline of example release process using GitVersioning would be helpful in bridging that gap.
In my specific case, trying to reconcile deriving version numbers from branch names vs. tag names, and if the publishing the release happens before or after the the release branch is merged onto master.
Also wondering if using git.useGitDescribe := true should be a manual operation (via set) or something one leaves in the build.sbt file. If the latter, how does one do a SNAPSHOT release?
PS: Will volunteer to do a docs PR on this if provided an example release process that is perhaps project specific yet generalizable.
PSS:
This is what I did with my last release, but it doesn't seem as smooth as it should be (with or without the git-flow parts:
- In
git-flowstart a new release using with a name of the formv1.2.3(semantic version number prefixed byv). - Update
git.baseVersioninversion.sbtto have the target version number. - Finish the release per
git-flow, including creating a tag with the release name (i.e.v1.2.3). - In sbt console:
-
set git.useGitDescribe := true -
publish
-
SO,
- I'm not familiar with
git-flow. Is this the new cool thign to do, instead of being pedantic like me? - Why is
useGitDescribemandatory here? Shouldn't it pick up the tag automagically?
I love the idea, and would welcome the docs, BTW, just curious on details.
I don't think my workflow example is correct... you should probably ignore it. Was mostly interested in if someone could point me to an example release process that used this plugin so I could see how others did it (and generalize it). Do you think I should pose this issue to a Gitter channel or mailing list?
FWIW, git-flow is just a formalization of what most multi-contributor GitHub projects do intuitively, with a bit more process around the release and hot-fix modes. It's supported by several GUI interfaces to git (e.g. in SourceTree), automating the various branch, merge, tag steps.
@jsuereth Would some form of this be helpful in the docs here?
https://github.com/sbt/sbt-pom-reader/blob/master/notes/release-process.markdown
Does anyone use sbt-git for this these days? Should we just recommend other plugins such as sbt-dynver and/or sbt-ci-release?