-
Notifications
You must be signed in to change notification settings - Fork 322
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
Bazelisk is pulling a non existing release ( 3.5.1 ) when invoked w/o .bazelversion #170
Comments
@fweikert Any idea what causes this? Is this related to your work where we fetch the Version info from GCS instead of GitHub? Maybe the code doesn’t recognize that 3.5.1 isn’t a released version yet and only has an rc1? |
@jerrymarino I’m so sorry for this :( I’m not sure yet what causes this, whether it’s an issue with Bazelisk or something weird about the Bazel 3.5.1rc1 release, but will look into it tomorrow. |
RE2 is also seeing this for macOS builds with GitHub Actions. We weren't actually intending to use Bazelisk, so I'm guessing that the GitHub-hosted runners have P.S. Hi, @philwo! |
I found the reason for this. Bazelisk has two methods to find out what the latest Bazel is:
Bazelisk uses GitHub API by default, but falls back to GCS, if that doens't work for some reason. Unfortunately the GCS strategy has a bug - it sees a While we fix this, you have two workarounds for this:
Reference for how that works:
How I think this should work (for re2): google/re2#282 Sorry for the problems 😞 |
Confirmed that setting |
@junyer Yay! Thanks for reporting back (and nice to see you around here 😊) |
bazelisk has a bug when retrieving the bazle version from GCS due to github rate limiting. See bazelbuild/bazelisk#170 Until we export our GITHUB_TOKEN or bazelisk is fixed we pin the bazel version to 3.5.0 (to avoid unreleased 3.5.1).
If `latest-n` was requested, Bazelisk previously only examined the most recent version to see whether it had a release (and not just candidates). If there was no release, Bazelisk simply returned the second-to-last without checking whether that version had a release, too. Now Bazelisk checks the latest versions until it finds one with a release. Fixes #170 Progress towards #171
This is what happened: Bazelisk saw that the latest version was 3.6.0, but without a release -> it returned the second most recent version, 3.5.1, without actually checking whether that version had a release either. Since there was no 3.5.1 release you got a 404. I'll send a fix. |
If `latest-n` was requested, Bazelisk previously only examined the most recent version to see whether it had a release (and not just candidates). If there was no release, Bazelisk simply returned the second-to-last without checking whether that version had a release, too. Now Bazelisk checks the latest versions until it finds one with a release. Fixes #170 Progress towards #171
Invoking
bazelisk build
is attempting to pull a non-existent release.This afternoon, a handful of xchammer github jobs started failing that used bazelisk. For example:
https://github.com/pinterest/xchammer/pull/259/checks?check_run_id=1168118720
The xchammer CI runs
bazelisk
and we don't have a version specified in the repository. Without the version, it attempts to pull a non-existing URL:I checked on Bazel releases this afternoon, and it looks like there is no
3.5.1
bazel release: https://github.com/bazelbuild/bazel/releasesThe text was updated successfully, but these errors were encountered: