• Zach Loafman's avatar
    Enacting versioning.md · 4363f14e
    Zach Loafman authored
    This PR changes how we version going forward in the following ways:
    
    * mark-new-version.sh is changed to a new policy of just splitting
    branches, rather than the old backmerge policy, as discussed in
    vX.Y.0, and a tag for vX.(Y+1).0-alpha.0 back to master.
    
    * I eliminated PRs back to master by making the version/base.go
    gitVersion and gitCommit just be `export-subst`. I testing that this
    works with GitHub's source export tarballs. There's no reason to
    bother with forcing the version into `base.go` (especially twice). The
    tarball versions outside a git tree aren't perfect (master looks like
    "v0.0.0+hash", and the release branches look more accurate), but our
    build contract has never allowed that version is perfect in this
    situation, so I think we can relax this.
    
    * That master tag gets picked up by "git describe" on master, so e.g.
    master would have immediately become v1.1.0-alpha.0
    
    * In order to be more semVer compatible, the gitVersion field for the
    master branch now looks something like 1.1.0-alpha.0.6+84c76d11.
    This is a tiny translation of the "git describe". I did this because
    there are a ton of consumers out there of the "gitVersion" field
    expecting it to be the full version, but it would be nice if this
    field were actually semver compliant. (1.1.0-alpha.0-6-84c76d11
    is, but it's not *usefully* so.)
    
    Fixes #11495
    4363f14e
base.go 2.54 KB