Make the bazel command and threads count configurable - #215
Open
sthornington wants to merge 15 commits into
Open
Make the bazel command and threads count configurable#215sthornington wants to merge 15 commits into
sthornington wants to merge 15 commits into
Conversation
…faulting behavior to the run time
This was referenced Aug 30, 2024
Author
|
In my private fork I have added: Happy to update the PR with all of these if someone ever wants. |
Merged
3 tasks
helly25
added a commit
to helly25/bazel-compile-commands-extractor
that referenced
this pull request
May 17, 2026
Add two macro parameters on `refresh_compile_commands`: - `bazel_command`: path or name of the bazel binary used by the generated refresh script (defaults to "bazel"). Useful when bazel lives under a non-default name (e.g. "bazelisk") or an absolute path. - `max_threads`: max worker threads for the action conversion pool (defaults to the previous heuristic of min(32, cpu_count + 4)). Plumbed through `_expand_template` substitutions; `refresh.template.py` exposes `_bazel()` / `_threads()` helpers and uses them at the three bazel-subprocess call sites and the executor configuration. Backport of hedronvision#215 (sthornington). Supersedes hedronvision#191 (custom bazel binary only).
|
Hi — since upstream has been quiet for a while, the fork at https://github.com/helly25/bazel-compile-commands-extractor has picked up this change as part of a viability sweep. Backported (with attribution preserved in the commit message) in helly25#12. Thanks for the original patch. |
7 tasks
Author
|
Oh thanks, very kind! I will go check our internal fork and see if there are any other useful changes that might be worth upstreaming. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a quick thing we needed to do in our environment to get everything working.
Make the bazel command configurable - we need to call bazel from a wrapper script to set up some stuff, and as a consequence, the command that this tool subshells needs to use that too. I made this as a --define command line parameter so that it could be passed from the original invocation of bazel when running the tool.
Make the max thread count configurable. As a consequence of the above, we don't want many instances of our bazel wrapper running concurrently, that can cause spurious
bazel dump --action_cachefailures, so I added a rule parameter so we can just hard code it in our rule wrapper.Almost forgot, I switched print_args from iostream to ANSI C using printf, so that building that doesn't have to know where/which C++ runtime etc to use.
This is my first time doing bazel so if these are the wrong approaches please let me know. Thanks!