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.17 #83413

Closed
wants to merge 1 commit into from
Closed

go 1.17 #83413

wants to merge 1 commit into from

Conversation

branchvincent
Copy link
Member

@branchvincent branchvincent commented Aug 16, 2021

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 Aug 16, 2021
@branchvincent branchvincent mentioned this pull request Aug 16, 2021
@cho-m cho-m added CI-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. 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. CI-linux-self-hosted Build on Linux self-hosted runner labels Aug 16, 2021
@marians

This comment has been minimized.

@carlocab

This comment has been minimized.

@carlocab

This comment has been minimized.

@carlocab

This comment has been minimized.

@roopakv

This comment has been minimized.

@SMillerDev
Copy link
Member

Try building them with go 1.17 and fix them if they're broken.

@roopakv
Copy link
Contributor

roopakv commented Aug 17, 2021

@SMillerDev some of them are flakes i guess, cos I got it to pass locally. and that is why I was confused

@carlocab
Copy link
Member

You can help by trying to make the tests less flaky so they don't show up on the next Go PR, if you can.

@carlocab

This comment has been minimized.

@samuel
Copy link

samuel commented Aug 17, 2021

A number of those failures seem to be related to golang/go#46763

Specifically the comment:

@marwan-at-work the golang.org/x/sys/unix.libc_ioctl_trampoline error looks like what was fixed as part of #45702. The fix on your end should be to update golang.org/x/sys to latest (it looks like you are on a version before the fix at golang/sys@a76c4d0).

Referring to golang/go#45702

@carlocab
Copy link
Member

Big Sur failures are the same as on Mojave. Catalina failures are also the same except for orgalorg, which did not fail.

bassosimone added a commit to ooni/probe-cli that referenced this pull request Aug 18, 2021
Updating x/sys so that this supports go 1.17. Once this is in here we will need to cut a new release.

More context: Homebrew/homebrew-core#83413

See also ooni/probe#1737

Co-authored-by: Simone Basso <bassosimone@gmail.com>
bassosimone pushed a commit to ooni/probe-cli that referenced this pull request Aug 18, 2021
Updating x/sys so that this supports go 1.17. Once this is in here we will need to cut a new release.

More context: Homebrew/homebrew-core#83413

See also ooni/probe#1737

Co-authored-by: Simone Basso <bassosimone@gmail.com>

This is a cherry-pick of 143949a

Conflicts:
	go.mod
@carlocab carlocab mentioned this pull request Aug 18, 2021
6 tasks
@roopakv
Copy link
Contributor

roopakv commented Aug 18, 2021

I've started going to packages and updating x/sys and asking packages to cut new releases. Feels like this will be a manual process and we need to split the work and get them upgraded and then rebase this branch

Checksum mismatch

@blacktop
Copy link
Contributor

Would it be possible for you all to kind of pin previous versions of Golang? Like brew install go1.16 and then all these packages that depend on Go can pin to a version and not hold up the release of NEW versions? #askingforafriendwholovesbrewandrunninglatestgoasap 😏

@carlocab
Copy link
Member

Also, CC @codefromthecrypt for envoy and envoy@1.18 build failures on Big Sur.

@codefromthecrypt
Copy link
Contributor

I will try the envoy ones locally (as I have Big Sur) and try to help triage upstream as necessary

@branchvincent
Copy link
Member Author

both envoy failures seems unrelated:

fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't write to output file (No space left on device)

@codefromthecrypt
Copy link
Contributor

@mattklein123

The problem here is that go can't be upgraded until all things that depend on it can. The impact is that end users can't install go 1.17

While there are other projects blocking this, Envoy is also. Specifically, homebrew builds the envoy 1.19 and 1.18 latest version, and they don't work with go 1.17.

IIUC, there is some part of how Envoy uses protos that ends up requiring go. @keith or maybe @phlax will know better. I don't personally have the experience to know exactly what is going on and how to fix it.

Once this is sorted, whatever is implied to make this work would ideally be cherry-picked into these branches so that patches aren't needed forever.

PS I opened this some time back as I noticed in general the Envoy team are unaware of homebrew. At least raising a PR during a release will help keep folks on the project team aware of knock-on effects on ecosystems mentioned in the install page. envoyproxy/envoy#17500

Hope this helps!

@branchvincent branchvincent mentioned this pull request Aug 26, 2021
6 tasks
@codefromthecrypt
Copy link
Contributor

codefromthecrypt commented Aug 26, 2021

Here's how I will verify on amd64 and arm64 Big Sur:

$ cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
$ gh pr checkout 83413
$ brew install --build-from-source go
$ brew install --build-from-source envoy

@codefromthecrypt
Copy link
Contributor

revised my comment, can skip the remote bottle download by brew install --build-from-source go first

@codefromthecrypt
Copy link
Contributor

here's the failure on envoy with Big Sur arm64 (M1). amd64 is still chugging

==> /opt/homebrew/opt/bazelisk/bin/bazelisk build --compilation_mode=opt --curses=no --show_task_finish 
Last 15 lines from /Users/thebots/Library/Logs/Homebrew/envoy/01.bazelisk:
ERROR: An error occurred during the fetch of repository 'go_sdk':
   Traceback (most recent call last):
	File "/private/tmp/envoy-20210827-59011-735pgh/.brew_home/_bazel/6734651a1108d63ae9e743df04c9a20c/external/io_bazel_rules_go/go/private/sdk.bzl", line 98, column 13, in _go_download_sdk_impl
		fail("unsupported platform {}".format(platform))
Error in fail: unsupported platform darwin_arm64
ERROR: Error fetching repository: Traceback (most recent call last):
	File "/private/tmp/envoy-20210827-59011-735pgh/.brew_home/_bazel/6734651a1108d63ae9e743df04c9a20c/external/io_bazel_rules_go/go/private/sdk.bzl", line 98, column 13, in _go_download_sdk_impl
		fail("unsupported platform {}".format(platform))
Error in fail: unsupported platform darwin_arm64
ERROR: Analysis of target '//source/exe:envoy-static' failed; build aborted: unsupported platform darwin_arm64
INFO: Elapsed time: 83.843s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (18 packages loaded, 7 targets configured)
FAILED: Build did NOT complete successfully (18 packages loaded, 7 targets configured)

@keith
Copy link
Contributor

keith commented Aug 26, 2021

Best to ignore M1 support for Envoy atm until envoyproxy/envoy#16482 is resolved

@codefromthecrypt
Copy link
Contributor

On darwin/amd64 building envoy local worked, so it may indeed be a transient or worker related issue

± |bump-go-1.17 {1} ✓| → brew install --build-from-source envoy
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
airspyhf

==> Downloading https://github.com/envoyproxy/envoy/commit/3b49166dc0841b045799e
Already downloaded: /Users/adrian/Library/Caches/Homebrew/downloads/9cc321c489d93019439b089e49a1221bfcdc27016debe90f699e20737b667c3d--3b49166dc0841b045799e2c37bdf1ca9de98d5b1.patch
==> Cloning https://github.com/envoyproxy/envoy.git
Updating /Users/adrian/Library/Caches/Homebrew/envoy--git
==> Checking out tag v1.19.0
HEAD is now at 68fe53a88 release: v1.19.0 (#17320)
HEAD is now at 68fe53a88 release: v1.19.0 (#17320)
==> Patching
==> Applying 3b49166dc0841b045799e2c37bdf1ca9de98d5b1.patch
patching file bazel/envoy_internal.bzl
==> /usr/local/opt/bazelisk/bin/bazelisk build --compilation_mode=opt --curses=n
🍺  /usr/local/Cellar/envoy/1.19.0: 319 files, 118.9MB, built in 68 minutes 35 seconds

@lizan
Copy link

lizan commented Aug 27, 2021

here's the failure on envoy with Big Sur arm64 (M1). amd64 is still chugging

==> /opt/homebrew/opt/bazelisk/bin/bazelisk build --compilation_mode=opt --curses=no --show_task_finish 
Last 15 lines from /Users/thebots/Library/Logs/Homebrew/envoy/01.bazelisk:
ERROR: An error occurred during the fetch of repository 'go_sdk':
   Traceback (most recent call last):
	File "/private/tmp/envoy-20210827-59011-735pgh/.brew_home/_bazel/6734651a1108d63ae9e743df04c9a20c/external/io_bazel_rules_go/go/private/sdk.bzl", line 98, column 13, in _go_download_sdk_impl
		fail("unsupported platform {}".format(platform))
Error in fail: unsupported platform darwin_arm64
ERROR: Error fetching repository: Traceback (most recent call last):
	File "/private/tmp/envoy-20210827-59011-735pgh/.brew_home/_bazel/6734651a1108d63ae9e743df04c9a20c/external/io_bazel_rules_go/go/private/sdk.bzl", line 98, column 13, in _go_download_sdk_impl
		fail("unsupported platform {}".format(platform))
Error in fail: unsupported platform darwin_arm64
ERROR: Analysis of target '//source/exe:envoy-static' failed; build aborted: unsupported platform darwin_arm64
INFO: Elapsed time: 83.843s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (18 packages loaded, 7 targets configured)
FAILED: Build did NOT complete successfully (18 packages loaded, 7 targets configured)

Envoy build process pulls Go 1.15.5 by Bazel (https://github.com/envoyproxy/envoy/blob/main/bazel/dependency_imports.bzl#L14), so it isn't relevant to system Go. M1 support should be ignored until Envoy supports that.

@codefromthecrypt
Copy link
Contributor

@lizan that's great news. I'll remove the go dependency from the envoy formulae and if they work raise a PR so that people aren't distracted by this in the future.

@codefromthecrypt
Copy link
Contributor

when merged, these should keep envoy from being considered when the go package changes

envoy - #84071
envoy@1.18 - #84072

@carlocab
Copy link
Member

Great; thanks for the clarification!

Copy link
Member

@carlocab carlocab left a comment

Choose a reason for hiding this comment

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

I think we're far enough along here that nearly all (if not all) the remaining failures should be fixed in time.

Thanks for the help, @samuel, @roopakv, @bouk, @bn4t, @imsodin, @gordonbondon, @AlekSi, @ucwong, @stefanb and @andig! (Apologies if I missed anyone.)

@BrewTestBot
Copy link
Member

:shipit: @carlocab has triggered a merge.

@branchvincent branchvincent deleted the bump-go-1.17 branch August 27, 2021 03:31
@github-actions github-actions bot added the outdated PR was locked due to age label Sep 27, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 27, 2021
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-long-timeout [DEPRECATED] Use longer GitHub Actions CI timeout. CI-no-fail-fast Continue CI tests despite failing GitHub Actions matrix builds. outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.