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

Update bazelisk on macOS #812

Closed
1 of 5 tasks
soonho-tri opened this issue Apr 30, 2020 · 13 comments
Closed
1 of 5 tasks

Update bazelisk on macOS #812

soonho-tri opened this issue Apr 30, 2020 · 13 comments

Comments

@soonho-tri
Copy link

Tool information

  • Tool name: bazelisk
  • Tool license: Apache-2.0
  • Add or update? Update
  • Desired version: latest
  • Approximate size:

Area for Triage:
Apple

Question, Bug, or Feature?:
Bug / Feature

Virtual environments affected

  • macOS 10.15
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS
  • Windows Server 2016 R2
  • Windows Server 2019

Description

From my comment, #221 (comment)

On macOS, please install bazelisk via homebrew, not via node/npm.

Why?

For now, if one installs bazel via brew install bazel, it generates the following error:

2020-04-30T12:26:11.9301010Z Error: The `brew link` step did not complete successfully
2020-04-30T12:26:11.9361170Z The formula built, but is not symlinked into /usr/local
2020-04-30T12:26:11.9361370Z Could not symlink bin/bazel
2020-04-30T12:26:11.9361480Z Target /usr/local/bin/bazel
2020-04-30T12:26:11.9361560Z already exists. You may want to remove it:
2020-04-30T12:26:11.9362920Z   rm '/usr/local/bin/bazel'
2020-04-30T12:26:11.9363100Z 
2020-04-30T12:26:11.9363260Z To force the link and overwrite all conflicting files:
2020-04-30T12:26:11.9364150Z   brew link --overwrite bazel
2020-04-30T12:26:11.9364270Z 
2020-04-30T12:26:11.9364440Z To list all files that would be deleted:
2020-04-30T12:26:11.9365270Z   brew link --overwrite --dry-run bazel
2020-04-30T12:26:11.9365370Z 
2020-04-30T12:26:11.9365530Z Possible conflicting files are:
2020-04-30T12:26:11.9366390Z /usr/local/bin/bazel -> /usr/local/lib/node_modules/@bazel/bazelisk/bazelisk.js
2020-04-30T12:26:13.2173180Z ==> Caveats
2020-04-30T12:26:13.2173510Z Bash completion has been installed to:
2020-04-30T12:26:13.2173670Z   /usr/local/etc/bash_completion.d
2020-04-30T12:26:13.2173780Z 
2020-04-30T12:26:13.2173910Z zsh completions have been installed to:
2020-04-30T12:26:13.2175140Z   /usr/local/share/zsh/site-functions
2020-04-30T12:26:13.2175340Z ==> Summary

In macOS CI scripts, I think it's a typical workflow of installing bazel via brew, and it should not cause a conflict because of pre-installed bazelisk.

@soonho-tri
Copy link
Author

/cc @maxim-lobanov
/cc @YannisAgiomyrgiannakis who requested bazelisk in #221.

@maxim-lobanov
Copy link
Contributor

Thank you for logging this issue.
@soonho-tri , any ideas, will it cause regression for someone if we switch from npm installation to brew? Like use-cases that worked previously and will stop to work after switching.

@miketimofeev
Copy link
Contributor

But bazel is also presented in the image and bazelisk can be used to download newer bazle versions, so we should consider that scenario too.

@soonho-tri
Copy link
Author

@soonho-tri , any ideas, will it cause regression for someone if we switch from npm installation to brew? Like use-cases that worked previously and will stop to work after switching.

Have no idea. Bazelisk is mainly written in go and python, and I do not understand why it should be installed via npm.

bazelisk is a derived tool from bazel. It does not make sense if it interferes the installation of bazel. I would say that you can only provide bazel and ask users to install bazelisk by themselves if they want. brew install bazelisk takes only around 5 sec (including brew update time).

@YannisAgiomyrgiannakis
Copy link

YannisAgiomyrgiannakis commented May 1, 2020 via email

@soonho-tri
Copy link
Author

soonho-tri commented May 1, 2020

I do not think there is an issue in bazel or bazelisk.

When bazelisk is installed via npm, it installed bazel at /usr/local/bin. When brew install bazel is run, it tries to install bazel at the same location, found an existing file, and exit with a warning.

@miketimofeev
Copy link
Contributor

@soonho-tri The simplest way here is to install both of the tools via brew, you're right.
brew install bazelisk
brew install bazel

@soonho-tri
Copy link
Author

@miketimofeev , agreed.

Is there a way I can make a PR to make this change? https://github.com/actions/virtual-environments/tree/master/images/macos only includes README.md file. I guess the image is not part of this repo?

@miketimofeev miketimofeev self-assigned this May 1, 2020
@miketimofeev
Copy link
Contributor

@soonho-tri yeah, unfortunately, macOS image generation isn't open-sourced yet. I'll prepare PR with the changes in the private repo and let you know when the image is deployed.
Thanks!

@miketimofeev miketimofeev added in development and removed investigate Collect additional information, like space on disk, other tool incompatibilities etc. labels May 1, 2020
@miketimofeev miketimofeev added awaiting-deployment Code complete; awaiting deployment and/or deployment in progress and removed in development labels May 6, 2020
@miketimofeev
Copy link
Contributor

@soonho-tri The changes will be deployed next week(approx 05/13 – 05/14)

@soonho-tri
Copy link
Author

@miketimofeev , thank you!

@miketimofeev
Copy link
Contributor

@soonho-tri the image has been deployed. Could you check everything is fine now, please?

@miketimofeev miketimofeev removed the awaiting-deployment Code complete; awaiting deployment and/or deployment in progress label May 13, 2020
@soonho-tri
Copy link
Author

Confirmed. Thanks for the update, @miketimofeev .

ohodson added a commit to cloudflare/workerd that referenced this issue Aug 29, 2023
Recent github runner config changes for Windows breaks use of LLVM 15
and does not install LLVM 16 in the image.

This change adds an LLVM upgrade step that should pull in LLVM 16. This
follows scikit-image/scikit-image#7109.

Bug: actions/runner-images#812
ohodson added a commit to cloudflare/workerd that referenced this issue Aug 29, 2023
Recent github runner config changes for Windows breaks use of LLVM 15
and does not install LLVM 16 in the image.

This change adds an LLVM upgrade step that should pull in LLVM 16. This
follows scikit-image/scikit-image#7109.

Bug: actions/runner-images#812
ohodson added a commit to cloudflare/workerd that referenced this issue Aug 29, 2023
Recent github runner config changes for Windows breaks use of LLVM 15
and does not install LLVM 16 in the image.

This change adds an LLVM upgrade step that should pull in LLVM 16. This
follows scikit-image/scikit-image#7109.

Bug: actions/runner-images#812
ohodson added a commit to cloudflare/workerd that referenced this issue Aug 29, 2023
Recent github runner config changes for Windows breaks use of LLVM 15
and does not install LLVM 16 in the image.

This change adds an LLVM upgrade step that should pull in LLVM 16. This
follows scikit-image/scikit-image#7109.

Bug: actions/runner-images#812
ohodson added a commit to cloudflare/workerd that referenced this issue Aug 29, 2023
Recent github runner config changes for Windows breaks use of LLVM 15
and does not install LLVM 16 in the image.

This change adds an LLVM upgrade step that should pull in LLVM 16. This
follows scikit-image/scikit-image#7109.

Bug: actions/runner-images#812
ohodson added a commit to cloudflare/workerd that referenced this issue Aug 29, 2023
Broken by actions/runner-images#812

Unforunately upgrading to LLVM16 per scikit-image/scikit-image#7109 appears
to be hampered by bazelbuild/bazel#17863. Working
around this, there is a static assertion failure in Google benchmark.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants