Enforce sequential hotfix versioning
This commit is contained in:
parent
df3005f955
commit
24bfc7c6c6
|
@ -1,6 +1,12 @@
|
|||
Hotfix Release Process
|
||||
======================
|
||||
|
||||
Hotfix releases are versioned by incrementing the build number of the latest
|
||||
release. For example:
|
||||
|
||||
First hotfix: v1.0.11 -> v1.0.11-1
|
||||
Second hotfix: v1.0.11-1 -> v1.0.11-2
|
||||
|
||||
In the commands below, <RELEASE> and <RELEASE_PREV> are prefixed with a v, ie.
|
||||
v1.0.11 (not 1.0.11).
|
||||
|
||||
|
|
|
@ -72,6 +72,7 @@ def parse_args(args):
|
|||
# Top-level flow:
|
||||
def main_logged(release, releaseprev, releaseheight, hotfix):
|
||||
verify_releaseprev_tag(releaseprev)
|
||||
verify_version(release, releaseprev, hotfix)
|
||||
initialize_git(release, hotfix)
|
||||
patch_version_in_files(release, releaseprev)
|
||||
patch_release_height(releaseheight)
|
||||
|
@ -130,6 +131,26 @@ def verify_releaseprev_tag(releaseprev):
|
|||
)
|
||||
|
||||
|
||||
@phase('Checking version.')
|
||||
def verify_version(release, releaseprev, hotfix):
|
||||
if not hotfix:
|
||||
return
|
||||
|
||||
expected = Version(
|
||||
releaseprev.major,
|
||||
releaseprev.minor,
|
||||
releaseprev.patch,
|
||||
releaseprev.betarc,
|
||||
releaseprev.hotfix + 1 if releaseprev.hotfix else 1,
|
||||
)
|
||||
if release != expected:
|
||||
raise SystemExit(
|
||||
"Expected {!r}, given {!r}".format(
|
||||
expected, release,
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
@phase('Initializing git.')
|
||||
def initialize_git(release, hotfix):
|
||||
junk = sh_out('git', 'status', '--porcelain')
|
||||
|
|
Loading…
Reference in New Issue