franela / goblin

Minimal and Beautiful Go testing framework
MIT License
887 stars 79 forks source link

Proposal: Please start using Semantic Versioning #91

Closed KateGo520 closed 4 years ago

KateGo520 commented 4 years ago

I found that this project already supports Go modules. But sadly, the tags doesn't follow Semantic Versioning, which means that all tags of this project will be ignored by Go modules and replaced by pseudo-versions, go get acts weirdly when tags are not in that form. It would be great to have the tagged release be named in the format vX.X.X format so that go mod can read it.

    github.com/franela/goblin v0.0.0-20200722185118-cb67619f1d10

Else the mod file shows something like github.com/franela/goblin v0.0.0-20200722185118-cb67619f1d10 which is not very readable and difficult to upgrade. It’s hard to verify which version is in use. This is not conducive to version control

So, I propose this project to follow Semantic Versioning in future versions. For example, v1.0.1, v2.0.0, v3.1.0-alpha, v3.1.0-beta.2etc.

KateGo520 commented 4 years ago

@schmurfy @scfarley Could you help me review this issue? Thx :p

Dynom commented 4 years ago

Hi, not active in this project, but to reply on your remark:

The "pseudo-version" is actually very explicit, it's on ref cb67619f1d10, something you can easily find back. I understand that Git doesn't have a linear history, but it's still possible to locate and find an enclosing diff-set.

General advise for any package upgrade:

  1. update
  2. run tests
    • all green? commit your new go.mod
    • red? revert and stick with the previous version

Not everybody agrees with semver for a variety of reasons. If your project demands semver for it's dependencies, then I suggest you revisit that statement.

marcosnils commented 4 years ago

Thx for the explanation Mark :heart: I'll close this as there's no intention to use semver for the moment.