Skip to content
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

Be good citizens and test Kubo with Go RCs #10078

Open
1 task done
Jorropo opened this issue Aug 17, 2023 · 2 comments
Open
1 task done

Be good citizens and test Kubo with Go RCs #10078

Jorropo opened this issue Aug 17, 2023 · 2 comments
Labels
kind/discussion Topical discussion; usually not changes to codebase status/blocked Unable to be worked further until needs are met

Comments

@Jorropo
Copy link
Contributor

Jorropo commented Aug 17, 2023

We currently have a policy of never updating to go1.X.0 releases, that means we wait for go1.X.1 or later.
This is due to a few times breaking changes were added to the STD that broke Kubo's behavior, thankfully caught by our extremely extensive test suite.

Instead we should:

  • Run RCs of Go but accept merging PRs with theses failings
  • Debug new test Failures
  • If they are bugs in Kubo that were caught by hardening of Go, fix them.
  • If they are bugs or behavior changes in Go or the Std, report them.
    • Sometimes breaking behavior is done on purpose and sometimes for good reasons also, then we should fix it in Kubo.

Hopefully that means theses bugs would be able to be fixed before the first release of Go, things in Go are also more malleable during in the RC phase compared to after a go1.X.0, improving the ecosystem as a whole and not having a situation where we purposely stick with the go1.(N - 1) release due to last minute costy changes that needs to happen. (Kubo v0.22 has been released using go1.19.12 while go1.20.7 was available for a very long while due to a last minute discovery of golang/go#60674, we are now fixing this in #10068)


The reason we did not do that in the past is due to quic-go which was forking the crypto std and having manual compatibility using unsafe, this required, this is now fixed for future releases with golang/go#44886.


Blockers:

@Jorropo Jorropo added the kind/discussion Topical discussion; usually not changes to codebase label Aug 17, 2023
@Jorropo
Copy link
Contributor Author

Jorropo commented Aug 17, 2023

For now we are blocked on our 1.21.0 support, go is in the merge phase so this is a good timing to bring us back up to the latest release of go so we are ready for the next RC phase.

@Jorropo Jorropo added the status/blocked Unable to be worked further until needs are met label Aug 17, 2023
@marten-seemann
Copy link
Member

This is great! Can't wait to see this happen. And super happy that with the switch to crypto/tls, quic-go won't be blocking this any more in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/discussion Topical discussion; usually not changes to codebase status/blocked Unable to be worked further until needs are met
Projects
None yet
Development

No branches or pull requests

2 participants