-
Notifications
You must be signed in to change notification settings - Fork 42
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
Preparing a v2.0.2+incompatible
pre-release to properly retract v2.0.1+incompatible
#254
Conversation
Thank you for submitting this PR!
Getting other community members to do a review would be great help too on complex PRs (you can ask in the chats/forums). If you are unsure about something, just leave us a comment.
We currently aim to provide initial feedback/triaging within two business days. Please keep an eye on any labelling actions, as these will indicate priorities and status of your contribution. |
ee667cd
to
ba88ba7
Compare
Signed-off-by: Yolan Romailler <anomalroil@users.noreply.github.com>
v2.0.2-retract
pre-release to properly retract v2.0.1+incompatible
go.mod
Outdated
@@ -24,3 +24,5 @@ require ( | |||
retract v1.0.22 // old gx tag accidentally pushed as go tag | |||
|
|||
retract v2.0.1+incompatible // old gx tag | |||
|
|||
retract v2.0.2-retract // we need to use a newer version than v2.0.1 to retract v2.0.1+incompatible, but we can retract ourself directly once done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CI is failing with: go.mod:28: retract github.com/ipfs/go-ipfs-cmds: version "v2.0.2-retract" invalid: should be v0 or v1, not v2
It looks like this might be because we'd need to change the import path in this go mod file as well golang/go#35732 (comment). I haven't dealt with two many v2 modules like this before though so lmk if I'm missing something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Side note: Does this need to merge into master or can this merge into a v2.0.2-retract-branch
and be released from there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this sadly has to stay in the go.mod
for subsequent releases and cannot just be removed after tagging the higher v2.0.2-retract
self-retracting pre-release, but not 100% sure.
Triage notes:
|
Currently the Go ecosystems recognizes the To properly retract a release you need to tag a higher version number tag with a retract statement for both. See doc here: https://go.dev/ref/mod#go-mod-file-retract The main goal being to allow people to use
|
v2.0.2-retract
pre-release to properly retract v2.0.1+incompatible
v2.0.2+incompatible
pre-release to properly retract v2.0.1+incompatible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Triage notes:
- Using https://go.dev/ref/mod#incompatible-versions should make this relatively safe in module version ecosystem, we will give it a try.
tagging a release that includes go.mod with retraction from #254
tagging a release that includes go.mod with retraction from #254 + go 1.22 version bump
Just for the record (cc @gammazero) this did not work because $ GOPROXY=https://proxy.golang.org GO111MODULE=on go get "github.com/ipfs/go-ipfs-cmds@v2.0.2"
go: github.com/ipfs/go-ipfs-cmds@v2.0.2: reading https://proxy.golang.org/github.com/ipfs/go-ipfs-cmds/@v/v2.0.2.info: 404 Not Found
server response: not found: github.com/ipfs/go-ipfs-cmds@v2.0.2: invalid version: module contains a go.mod file, so module path must match major version ("github.com/ipfs/go-ipfs-cmds/v2") I've removed the tag since it is useless anyway and filled golang/go#69093 to remove broken version from x/pkgsite. @AnomalRoil until upstream is cleaned up, as a workaround, you can run |
@lidel I suspect this did not work properly because you tagged v1.13 instead of tagging v2.0.2+incompatible and v1.13 < v2.0.2+incompatible as per semver. Edit: reading the other issue, it seems that should work if we tagged v1.0.23 instead of v2.0.2+incompatible. |
We need to issue a higher version tag which self-retract itself in order to retract
v2.0.1+incompatible
I have chosen a pre-release
v2.0.2+incompatible
value so that it will still be possible to create v2.0.x versions in the future without conflicting with it.After merging this, please tag the latest master with tag
v2.0.2+incompatible
and push the tag to github 🙏🏻As per the Go spec: