Repository navigation
Version numbers follow the release flow (version 0.5.0) - #75
Merged
Merged
Conversation
…per QA cycle, beta count on staging (version 0.5.0) The Changelog check enforces the rules (.github/version_rules.py, with a self-test): into dev the next patch, or the next minor once QA has dev's line; a fix into qa or staging the next free patch on its own line; never a version another branch has; from 1.0 a major only with a 'Before you upgrade' line. promote-qa and promote-staging take --dry-run and report the versions they produce; promote-staging records the beta version, which the Image workflow publishes as the staging image's tag, bakes into the image and records as a vx.y.z-beta.N git tag. merge-back merges the changelog and QA checklist itself, every version highest first. Dependency updates take dev's next version. The beta server shows its beta version on its version cards, in System > Status and on the logo's hover text. The live QA check runs as the newest version with checklist items, so a version with nothing to test by hand doesn't break it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task: cowork-p1-version-numbering-001. Issues: none (only Dependabot pull requests were open when the task was written).
Version numbers now follow the release flow (docs/development.md#versions):
dev(dependency updates too) takes the next patch ondev's line.dev's version as it is; the next pull request intodevstarts the next minor at .0. This pull request is that one: QA has 0.4.17, so it's 0.5.0 (the new rule landed first).x.y.z-beta.N; N counts the line's (x.y) publishes to staging.x.y.z(written down in the docs, not scripted).A fix into
qaorstagingtakes the next free patch on that branch's own line. dev, qa and staging never share a version.What enforces it
.github/version_rules.py: the rules,next, the beta counter and the merge-back merge, with a 34-case self-test (CI's Changelog job runs it).release.sh check-changelogcalls it in place of the old "higher than all three branches" loop../release.sh next-version [dev|qa|staging]prints the number the next pull request takes.promote-qaandpromote-stagingtake--dry-runand report the versions they produce;promote-stagingrecordsPublished to staging as: x.y.z-beta.Nin its pull request.merge-backmergesCHANGELOG.mdandQA-CHECKLIST.mditself when they conflict: every version of both, in version order, highest first (each line's versions stay together); the build version is the changelog's top.dev's next version from the same rules.Where the beta suffix lives
vx.y.z-beta.N(it now hascontents: writefor that). The next number is one more than the line's highest tag; a commit that already has one (a re-run) keeps it.promote-stagingreads the same tags withgit ls-remote --tags, so it needs no package access (the image is still private).stagingandx.y.z-beta.N, with the beta version as its version label and baked in asREQUESTARR_RELEASE_VERSION.Requestarr 0.4.17-beta.1 · …, still found as 0.4.17's card), the private full card, System → Status (0.4.17-beta.1 (0.4.17.12345)), and the logo's hover text. Every other version and every other server shows the plain number.Also: the live QA check now runs as the newest version that has checklist items, so a version with nothing to test by hand (like 0.4.17) doesn't break it.
Tests
release.sh check-changelogagainst the real branches with throwaway commits: dev 0.5.0 passes, 0.4.18 and 0.5.1 fail; QA fix 0.4.18 passes, 0.5.0 and 0.4.19 fail; staging fix (as staging will be after the next promotion) 0.4.18 passes, 0.5.0 and 0.4.19 fail.