-
Notifications
You must be signed in to change notification settings - Fork 217
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
Upgrade to Bazel 8.0.0 #3035
base: main
Are you sure you want to change the base?
Upgrade to Bazel 8.0.0 #3035
Conversation
/intelci: run |
MODULE.bazel
Outdated
module(name = "onedal") | ||
|
||
bazel_dep(name = "platforms", version = "0.0.5") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bazel_dep(name = "platforms", version = "0.0.5") | |
bazel_dep(name = "platforms", version = "0.0.10") |
May resolve WARNING: For repository 'platforms', the root module requires module version [email protected], but got [email protected] in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
. Unless there is a specific reason to set to 0.0.5.
bazel_dep(name = "bazel_skylib", version = "1.7.1") | ||
bazel_dep(name = "rules_cc", version = "0.0.17") | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
may need to add another bazel_dep (rules_android) to resolve WARNING: Couldn't auto load rules or symbols, because no dependency on module/repository 'rules_android' found. This will result in a failure if there's a reference to those rules or symbols.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be updated in bazel 8.0.1
build -c opt \ | ||
--incompatible_enable_cc_toolchain_resolution \ | ||
--incompatible_require_linker_input_cc_api | ||
--incompatible_require_linker_input_cc_api \ | ||
--noincompatible_disallow_empty_glob |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The docs on this aren't super clear to me - what would happen if this flag is not added?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In Bazel 8.0, the flag --incompatible_disallow_empty_glob will default to true. This means that the allow_empty argument defaults to False on all glob calls. In Bazel 7.0 --incompatible_disallow_empty_glob defaulted to False and the allow_empty argument defaults to True on all glob calls. Some of the glob calls in the project return empty list, so in bazel 8.0 those glob calls that return empty list error out without setting allow_empty set to true.
Description
Changes to upgrade to Bazel 8.0.0
All of these changes can be found in the bazel migration guide (https://bazel.build/external/migration)
PR should start as a draft, then move to ready for review state after CI is passed and all applicable checkboxes are closed.
This approach ensures that reviewers don't spend extra time asking for regular requirements.
You can remove a checkbox as not applicable only if it doesn't relate to this PR in any way.
For example, PR with docs update doesn't require checkboxes for performance while PR with any change in actual code should have checkboxes and justify how this code change is expected to affect performance (or justification should be self-evident).
Checklist to comply with before moving PR from draft:
PR completeness and readability
Testing
Performance