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

go1.16: remove #168480

Merged
merged 17 commits into from
May 22, 2022
Merged

go1.16: remove #168480

merged 17 commits into from
May 22, 2022

Conversation

ajs124
Copy link
Member

@ajs124 ajs124 commented Apr 13, 2022

Description of changes

go1.16 reached EOL with the release of go1.18

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.05 Release Notes (or backporting 21.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@ajs124
Copy link
Member Author

ajs124 commented Apr 13, 2022

Result of nixpkgs-review pr 168480 run on x86_64-linux 1

3 packages marked as broken and skipped:
  • goofys
  • gvisor
  • utahfs
17 packages built:
  • godu
  • ipfs
  • ipfs-migrator
  • ipfs-migrator-all-fs-repo-migrations
  • mycorrhiza
  • ncdns
  • obfs4
  • onionshare
  • onionshare-gui
  • python310Packages.ipfshttpclient
  • python310Packages.ipwhl
  • python39Packages.ipfshttpclient
  • python39Packages.ipwhl
  • sampler
  • textql
  • vouch-proxy
  • yajsv

@ajs124 ajs124 marked this pull request as ready for review April 13, 2022 13:01
@ajs124 ajs124 requested review from Mic92 and zowoq as code owners April 13, 2022 13:01
@zowoq
Copy link
Contributor

zowoq commented Apr 13, 2022

@ofborg test ipfs
@ofborg build godu ipfs mycorrhiza ncdns obfs4 sampler textql vouch-proxy yajsv

Copy link
Member

@endocrimes endocrimes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see a lot of packages here that have go references removed without corresponding package bumps - have you verified that the software still works with newer go versions? (beyond just building?)

@@ -11,7 +11,15 @@ buildGoModule rec {
sha256 = "1lanighxhnn28dfzils7i55zgxbw2abd6y723mq7x9wg1aa2bd0z";
};

vendorSha256 = "04nywhkil5xkipcibrp6vi63rfcvqgv7yxbxmmrhqys2cdxfvazv";
patches = [
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should wait for a release or use an untagged commit - randomly pulling in patches sucks for everyone.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There isn't one, yet. We can wait, but then we'll need to keep this EOL go release around.

@@ -120,5 +120,7 @@ in buildBazelPackage rec {
license = licenses.asl20;
maintainers = with maintainers; [ andrew-d ];
platforms = [ "x86_64-linux" ];
# the version we have right now does not compile with go 1.17
broken = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

latest builds with go1.17 - lets bump before landing this PR. https://github.com/google/gvisor/blob/master/go.mod#L3

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you bump it? I think I tried and it was non-trivial. IMO this is the maintainer's (@andrew-d) job not ours.

The release is ~10 months out of date, with a software that releases very often, looking at https://github.com/google/gvisor/tags.

};

patches = [
(fetchpatch {
url = "https://github.com/dinedal/textql/commit/a0d7038c8c30671dfd618f47322814ab492c11a1.patch";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a commit from a fork - we should reference it via the fork to avoid confusion and to be explicit.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should reference it via the fork

Revert this change. If the fork is deleted the patch will disappear. Please add a comment linking the PR the commit came from.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'll be in the binary cache either way, so I don't really care, tbh.

The same diff can be gotten many ways, so how can we find a consensus here? I assume nixpkgs doesn't have a policy for this, despite there being dozens if not hundreds of occurrences of this throughout the codebase, as always?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a source that won't disappear instead of one that may disappear seems link a better idea.

I've seen lots of reviews asking for a comment referencing the PR that a commit is sourced from, I haven't seen anyone ask that we actually use the PR authors fork to source the commits.

@ajs124
Copy link
Member Author

ajs124 commented Apr 13, 2022

iirc I've tested ones with tests, e.g. ncdns

@Luflosi
Copy link
Contributor

Luflosi commented Apr 15, 2022

This breaks ipfs-migrator-all-fs-repo-migrations. See #161547, where I tested this and documented it in the PR description and commit message. Feel free to test this again as described in the commit message. Also see ipfs/fs-repo-migrations#156, which I just created.

Please also run the IPFS NixOS test. Go 1.17 support seems to still be in progress: ipfs/kubo#8815.

@ajs124
Copy link
Member Author

ajs124 commented Apr 15, 2022

[…]
(finished: must succeed: ipfs --api /unix/run/ipfs.sock cat /ipfs/QmfNnecR7tB17fa4tjY9V2dDVwsanVnJPws3HoEM9W2wjC | grep fnord2, in 0.17 seconds)
machine: must succeed: test -e /mnt/ipfs/config
(finished: must succeed: test -e /mnt/ipfs/config, in 0.02 seconds)
machine: must succeed: test ! -e /var/lib/ipfs/
(finished: must succeed: test ! -e /var/lib/ipfs/, in 0.02 seconds)
(finished: run the VM test script, in 42.02 seconds)
test script finished in 42.09s
cleanup
kill machine (pid 8)
machine # qemu-kvm: terminating on signal 15 from pid 6 (/nix/store/bvzpppawf2naqv3qhxqv66jxaq3iaxyj-python3-3.9.11/bin/python3.9)
(finished: cleanup, in 0.02 seconds)
kill vlan (pid 7)
/nix/store/ciff928nb15cnj17jhlhbk5klnpgb08r-vm-test-run-ipfs

so ipfs is fine, but ipfs-migrator-all-fs-repo-migrations is apparently still broken.

@Luflosi
Copy link
Contributor

Luflosi commented Apr 26, 2022

See ipfs/kubo#8815 for why the currently existing migrations probably won't be updated to support a newer Go version. This means, we either need to keep Go 1.16 or remove the incompatible migrations. In the second case I could write a stub to replace them, which prints some text, explaining the situation.

@ajs124
Copy link
Member Author

ajs124 commented May 5, 2022

In the second case I could write a stub to replace them, which prints some text, explaining the situation.

@Luflosi can you go ahead and do that? go1.16 is EOL and I'd very much like to see it removed before branch-off.

@dasJ
Copy link
Member

dasJ commented May 21, 2022

I'd like to remind the people here that branch-off is scheduled for tomorrow and depending on how good the staging builds progress, we will branch off rather soon.

@Mic92 Mic92 force-pushed the drop/go116 branch 2 times, most recently from 51cda9a to 8a51267 Compare May 22, 2022 13:58
@Mic92 Mic92 merged commit 3f39d66 into master May 22, 2022
@Mic92 Mic92 deleted the drop/go116 branch May 22, 2022 16:05
@@ -30,7 +30,8 @@ buildGoModule {
description = "A high-performance, POSIX-ish Amazon S3 file system written in Go.";
license = [ lib.licenses.mit ];
maintainers = [ lib.maintainers.adisbladis ];
broken = stdenv.isDarwin; # needs to update gopsutil to at least v3.21.3 to include https://github.com/shirou/gopsutil/pull/1042
# does not build with go 1.17
broken = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ping @adisbladis , I don't think you've been notified?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the ping. Fixed in #176255.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants