Commit 9962a24
authored
fix(version-dispatch): keep prereleases in their rc cycle (#86)
A commit-driven \`major\`/\`minor\`/\`patch\` bump on a package whose
current version is itself a prerelease (\`5.0.0-rc.96\`) used to
return \`semver.inc\`'s raw output — for \`major\`, that's \`5.0.0\`,
i.e. drop the rc and ship the long-awaited stable release. That's
almost certainly the wrong policy when a \`refactor!:\` lands on a
package that's been sitting in rc for 96 iterations.
Detect prerelease state from the current version (presence of \`-\`)
and downgrade the bump level to \`prerelease\` so the rc counter
advances instead (\`5.0.0-rc.96\` → \`5.0.0-rc.97\`). Stable
versions are unchanged.
Caught by exodus-hydra#16379's preview comment:
@exodus/headless | major | 5.0.0-rc.96 | 5.0.0 ← wrong
Now reads:
@exodus/headless | major | 5.0.0-rc.96 | 5.0.0-rc.97 ← correct
The team must explicitly promote an rc to stable via a separate
workflow when they're ready.
Both the preview's \`nextVersion\` and \`versionPackagesExplicit\`'s
real bump path apply the same downgrade. The \`isMajorBump\` check
(consumer-pin walker) keeps the workspace symlink resolving — an
rc → next-rc bump doesn't move the major, so no consumer pins are
touched.
193/193 tests passing (was 181, +12 across preview.spec and
version-packages.spec — covering rc.X → rc.X+1, no consumer pin
walk, and the stable-version path staying on the original semver.inc).1 parent 9a751fd commit 9962a24
8 files changed
Lines changed: 145 additions & 15 deletions
File tree
- dist
- version-dispatch
- version
- src
- version-dispatch
- version
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
52 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
53 | 60 | | |
54 | 61 | | |
55 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
109 | 118 | | |
110 | 119 | | |
111 | 120 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
180 | 240 | | |
181 | 241 | | |
182 | 242 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
49 | 54 | | |
50 | 55 | | |
51 | 56 | | |
| |||
107 | 112 | | |
108 | 113 | | |
109 | 114 | | |
110 | | - | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
111 | 125 | | |
112 | 126 | | |
113 | | - | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
114 | 136 | | |
115 | 137 | | |
116 | 138 | | |
117 | | - | |
118 | 139 | | |
119 | 140 | | |
120 | 141 | | |
| |||
237 | 258 | | |
238 | 259 | | |
239 | 260 | | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
240 | 265 | | |
241 | 266 | | |
242 | 267 | | |
| |||
0 commit comments