fs-repo-migrations icon indicating copy to clipboard operation
fs-repo-migrations copied to clipboard

Go 1.16 is EOL

Open Luflosi opened this issue 3 years ago • 3 comments

Go 1.16 is no longer supported since Go 1.18 was released. Unfortunately, fs-repo-migrations does not work with Go 1.17. See https://github.com/ipfs/fs-repo-migrations/issues/122#issuecomment-945194121 and https://github.com/NixOS/nixpkgs/commit/2ff6ffe70b8b4051812c83db4753520cec4b56d5 for previous mentions and more detailed explanations of this issue. Since Go 1.16 is EOL, it will start to be removed in repositories, here for example in NixOS: https://github.com/NixOS/nixpkgs/pull/168480. This will cause fs-repo-migrations to no longer work there. I would like fs-repo-migrations to be updated to support a current Go version or at least clearly document, which migration is compatible with which Go version.

Luflosi avatar Apr 15 '22 15:04 Luflosi

I would like fs-repo-migrations to be updated to support a current Go version

The issue here is that fs-repo-migrations has a dependency on quic-go via a dependency on go-ipfs. If you're wondering why quic-go is tied to a specific Go version see https://github.com/lucas-clemente/quic-go/wiki/quic-go-and-Go-versions.

Ideally we'd be able to remove the quic-go dependency for migrations so we don't have to worry about this anymore.

or at least clearly document, which migration is compatible with which Go version.

This seems like an actionable item. Every migration should work with building up to Go 1.16 (although 1.15 should also work). Subsequent migrations will either be built with a later version and document or, better, we can remove the quic-go issue from fs-repo-migrations so you don't have to worry about it here.

aschmahmann avatar Apr 25 '22 16:04 aschmahmann

I am unable to use IPFS on NixOS as of NixOS 22.05, due to Go 1.18 and 1.17 being the only available Go packages for NixOS in this version.

madamegaymes avatar Jun 13 '22 16:06 madamegaymes

The issue here is that fs-repo-migrations has a dependency on quic-go via a dependency on go-ipfs. If you're wondering why quic-go is tied to a specific Go version

It seems newer version of quic-go added support for go 1.17 and 1.18:

We currently support Go 1.16.x, Go 1.17.x, and Go 1.18.x.
(from the README)

Is it possible to build this with newer version of quic-go?

Huy-Ngo avatar Jun 19 '22 04:06 Huy-Ngo