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

go 1.20.1 #122082

Closed
wants to merge 31 commits into from
Closed

go 1.20.1 #122082

wants to merge 31 commits into from

Conversation

billinghamj
Copy link
Contributor

Created with brew bump-formula-pr.

resource blocks may require updates.

@BrewTestBot BrewTestBot added automerge-skip `brew pr-automerge` will skip this pull request bump-formula-pr PR was created using `brew bump-formula-pr` labels Feb 1, 2023
@billinghamj
Copy link
Contributor Author

Similar to #107165, have bumped the revision go-critic and golangci-lint. For 1.18, gosec was also bumped - not sure if that's needed here too

@billinghamj billinghamj force-pushed the bump-go-1.20 branch 2 times, most recently from 72b6be3 to ea55d35 Compare February 1, 2023 20:10
@p-linnane p-linnane added CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. CI-linux-self-hosted Build on Linux self-hosted runner CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. CI-build-dependents-from-source Pass --build-dependents-from-source to brew test-bot. long build Set a long timeout for formula testing labels Feb 1, 2023
@billinghamj
Copy link
Contributor Author

Screenshot 2023-02-01 at 20 39 33

Looks like the bottle block needs removing from the 1.19 one

@p-linnane
Copy link
Member

We might just want to cherry-pick go@19 into it's own PR, but I will wait for other maintainers to weigh in.

@p-linnane p-linnane added the maintainer feedback Additional maintainers' opinions may be needed label Feb 1, 2023
@billinghamj
Copy link
Contributor Author

5 failing deps on Linux
Screenshot 2023-02-01 at 21 09 09

@chenrui333
Copy link
Member

We might just want to cherry-pick go@19 into it's own PR, but I will wait for other maintainers to weigh in.

I think it might be better to put in this same PR, some formulae won't work go@1.20

@carlocab
Copy link
Member

carlocab commented Feb 2, 2023

We usually ship the older version in a separate PR after the PR for the newer one is merged.

@billinghamj
Copy link
Contributor Author

@carlocab There are a couple of projects which haven't been responsive to the compatibility issues referencing Homebrew. If they don't update quickly, we'll probably need the older version to merge without breaking the tests

@SMillerDev
Copy link
Member

If they're not responsive to being compatible with supported Go versions they should be moved to any older Go version and deprecated. The fact that we're building their project should have no influence on this.

@billinghamj
Copy link
Contributor Author

billinghamj commented Feb 2, 2023

Errors from macOS 13 on Intel:
Warning: 6 failed steps ignored!
brew test --retry --verbose git-appraise
brew test --retry --verbose git-appraise
brew test --retry --verbose github-markdown-toc
brew test --retry --verbose github-markdown-toc
brew test --retry --verbose qpm
brew test --retry --verbose qpm
Error: 43 failed steps!
brew install --build-from-source algernon
brew fetch --build-from-source --retry autorestic
brew install --build-from-source caddy
brew install --build-from-source cloudflared
brew test --retry --verbose counterfeiter
brew install --build-from-source dnscrypt-proxy
brew install --build-from-source doggo
brew install --build-from-source eksctl
brew install --build-from-source erigon
brew install --build-from-source frpc
brew install --build-from-source frps
brew fetch --build-from-source --retry git-town
brew fetch --build-from-source --retry gitlab-runner
brew test --retry --verbose gomplate
brew test --retry --verbose goplus
brew test --retry --verbose goplus
brew install --build-from-source gost
brew test --retry --verbose grafana-agent
brew install --build-from-source hysteria
brew test --retry --verbose ibazel
brew test --retry --verbose ibazel
brew install --build-from-source ipfs
brew install --build-from-source istioctl
brew install --build-from-source k3d
brew install --build-from-source keploy
brew install --build-from-source kt-connect
brew install --build-from-source liqoctl
brew test --retry --verbose logcli
brew test --retry --verbose nali
brew test --retry --verbose nali
brew install --build-from-source ooniprobe
brew fetch --build-from-source --retry prestd
brew test --retry --verbose promtail
brew fetch --build-from-source --retry pumba
brew fetch --build-from-source --retry skaffold
brew test --retry --verbose staticcheck
brew test --retry --verbose staticcheck
brew install --build-from-source storj-uplink
brew install --build-from-source syncthing
brew test --retry --verbose totp-cli
brew install --build-from-source traefik
brew fetch --build-from-source --retry whalebrew
brew install --build-from-source xray

Nothing additional for macOS 13/12/11 on Apple Silicon

Nothing additional for macOS 12 on Intel

Additional errors for macOS 11 on Intel:
brew install --build-from-source --only-dependencies ibazel
Additional errors on Linux:
Error: 5 failed steps!
brew install --build-from-source gcsfuse
brew install --build-from-source goofys
The full list of actual formulae:
algernon
autorestic
caddy
cloudflared
counterfeiter
dnscrypt-proxy
doggo
eksctl
erigon
frpc
frps
gcsfuse
git-appraise
git-town
github-markdown-toc
gitlab-runner
gomplate
goofys
goplus
gost
grafana-agent
hysteria
ibazel
ipfs
istioctl
k3d
keploy
kt-connect
liqoctl
logcli
nali
ooniprobe
prestd
promtail
pumba
qpm
skaffold
staticcheck
storj-uplink
syncthing
totp-cli
traefik
whalebrew
xray

Do we basically just want to update all of these to depend on go@1.19?

@SMillerDev
Copy link
Member

Do we basically just want to update all of these to depend on go@1.19?

We should check what broke and fix it. If upstream is deprecated we can use an older Go version.

@p-linnane p-linnane removed the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Feb 2, 2023
@ipfans
Copy link
Contributor

ipfans commented Feb 3, 2023

#122203 staticcheck updated

@chenrui333 chenrui333 mentioned this pull request Feb 3, 2023
Formula/go.rb Outdated Show resolved Hide resolved
Formula/go@1.19.rb Outdated Show resolved Hide resolved
@itsdevbear
Copy link

Any help needed here? Big block for our CI and willing to lend a hand if needed.

Thanks to all for the OSS work ✈️

@alebcay
Copy link
Member

alebcay commented Feb 20, 2023

Any help needed here? Big block for our CI and willing to lend a hand if needed.

Thanks to all for the OSS work ✈️

Just waiting for the CI now before we review the failures again, hopefully nothing too big anymore. It takes ~24 hours for a full CI run across all platforms.

@alebcay
Copy link
Member

alebcay commented Feb 21, 2023

@chenrui333 any ideas on the goplus test failure? I see you already submitted a revision bump/adjustments for that one and it seemed to be passing on the previous run.

==> /home/linuxbrew/.linuxbrew/Cellar/goplus/1.1.3_1/bin/gop run hello.gop
  # internal/goarch
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # internal/unsafeheader
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # internal/itoa
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # internal/goexperiment
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # internal/goos
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # math/bits
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # unicode/utf8
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # internal/race
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # internal/cpu
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # unicode
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # runtime/internal/atomic
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # runtime/internal/syscall
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  # sync/atomic
  compile: version "go1.19.6" does not match go tool version "go1.20.1"
  
  
  ===> errors stack:
  cl.NewPackage("", 0xc000212330, 0xc00012e840)
  	/tmp/goplus-20230220-125045-1y9cbii/gop-1.1.3/load.go:206 cl.NewPackage("", pkg, clConf)
  gop.LoadFiles(0xc000120170, 0xc000212000)
  	/tmp/goplus-20230220-125045-1y9cbii/gop-1.1.3/gengo.go:171 LoadFiles(files, conf)
  gop.GenGoFiles("", 0x0, 0xc000212000)
  	/tmp/goplus-20230220-125045-1y9cbii/gop-1.1.3/build_install_run.go:139 GenGoFiles(autogen, files, conf)

@kke
Copy link
Contributor

kke commented Feb 21, 2023

any ideas on the goplus test failure? I see you already submitted a revision bump/adjustments for that one and it seemed to be passing on the previous run.

That error comes when GOROOT is for a different go version than the go binary that is being run. The formula picks up the wrong go binary. I think you need to prepend Formula["go@1.19"].bin to PATH or something like that, since the system has go 1.20.1 installed and you need to run go 1.19. I have no clue how this works during runtime of goplus.

I think this may be a problem in the other formulas too, maybe depends_on "go@1.19" isn't enough when the system also has a newer version, since the new version is what the go from $PATH points to.

@AnyCPU
Copy link

AnyCPU commented Feb 21, 2023

I would like to thank developers for their work.

I use this package for long time and I see similar troubles every major Go release.

What is nice to see on next release:

  • a short list of How To Help for people that know nothing about brew's internals (maybe some doc comments in a formula);
  • some other ways to help;
  • ability to install a new Go version "as is".

Thanks!

@SMillerDev
Copy link
Member

a short list of How To Help for people that know nothing about brew's internals (maybe some doc comments in a formula)

Make sure all projects that brew packages are prepared for future Go versions by helping them set up CI that tests with nightlies. Otherwise brew will be the first one to test their software with a new Go release.

some other ways to help

Make sure all projects that brew packages are prepared for future Go versions by notifying them when a new Go release is out. Otherwise brew will be the first one to test their software with a new Go release.

ability to install a new Go version "as is".

It exists, but not in brew. See the comments here to see how.

@earthboundkid
Copy link

I've filed a separate proposal to try to deal with the mismatch of user expectations around build tool releases. Please comment there instead of here unless you are talking about how to fix the broken Go formulae: Homebrew/brew#14749.

@AnyCPU
Copy link

AnyCPU commented Feb 21, 2023

I guess this "otherwise" is happening now :-)

It exists, but not in brew. See the comments here to see how.

I know, I can read pretty well.

@carlmjohnson has provided more informative explanation above.

@p-linnane p-linnane removed the CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. label Feb 21, 2023
Copy link
Member

@p-linnane p-linnane left a comment

Choose a reason for hiding this comment

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

This looks good. We will open separate PR's to deal with the 3 remaining issues. Thank you to everyone for your patience and help to get this merged.

@BrewTestBot
Copy link
Member

:shipit: @p-linnane has triggered a merge.

@alebcay alebcay mentioned this pull request Feb 21, 2023
6 tasks
@CharlesSwiftConnect
Copy link
Contributor

I had issues building a module that referenced github.com/confluentinc/confluent-kafka-go/v2 v2.0.2. Doing go build . would result in many undefined: kafka.Consumer errors. I'm using WSL.

I got around this issue by deleting the contents of /home/linuxbrew/.linuxbrew/Cellar/go/1.20.1/libexec, and extracting the contents of the go folder inside go1.20.1.linux-amd64.tar.gz into libexec.

@p-linnane
Copy link
Member

Please open an issue or post in discussions if you are having problems. This PR has run it's course.

@Homebrew Homebrew locked and limited conversation to collaborators Feb 22, 2023
@billinghamj billinghamj deleted the bump-go-1.20 branch February 22, 2023 12:13
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
automerge-skip `brew pr-automerge` will skip this pull request bump-formula-pr PR was created using `brew bump-formula-pr` CI-build-dependents-from-source Pass --build-dependents-from-source to brew test-bot. CI-linux-self-hosted Build on Linux self-hosted runner CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. long build Set a long timeout for formula testing maintainer feedback Additional maintainers' opinions may be needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.