-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release candidate version logic is fragile #350
Comments
Okay. After I tagged v9.4.0, Travis ran this build, which didn't deploy/publish. I think this is fixed, but would love @jonrohan's eyes on it just to be sure. |
Yeah, so this is still not right. The problem now is that we're bumping all of the
This should be possible with Lerna, but we still have to figure out how to ensure that prerelease versions don't conflict with previously (possibly erroneously) published release candidates. In other words, if we file a PR that will publish, say, 9.6.0, which publishes release candidate version The more complicated issue is that multiple
So the logic would look like:
Assuming that works, we'll also have automatically published, for instance, @broccolini @jonrohan lmk if this sounds right, wrong, crazy, etc. |
This is not fixed by #353, unfortunately. |
@broccolini made the brilliant suggestion that we could do this locally and manually, e.g. with:
And just, like, publish release candidates more explicitly rather than automatically (on any push to a |
One minor (:rimshot:) snag to this is that semver (the node module) actually increments the patch version when you increment with a prerelease identifier. So that would be kind of funky because every release candidate would be a patch version higher than the eventual release. I've done a rewrite of our |
I've merged in #370 and haven't hit any trouble yet |
The v9.4.0 PR (#329) push build failed because since the previous 9.4.0 release candidate was published, Travis also built the
v9.3.0
tag that I pushed when I was back-filling the releases. The logic inscript/release-candidate
basically goes: "grab the latest version published to therc
dist-tag, and if its major.minor.patch matches the one we're publishing, increment it; otherwise, start at.rc-0
." So in this edge case, it was comparing9.4.0
against9.3.0
and trying to publish9.4.0-rc.0
, which was already published.I added some guards against building tags in db7637e, but we should test to make sure that they work. For instance, we could manually tag b009972 as
v9.4.0
and make sure that Travis doesn't attempt to build that release again before we publish the release on GitHub.The text was updated successfully, but these errors were encountered: