Repository navigation
Conversation
Use prebuilt tool binaries when consuming a release archive, and build tools from source when developing rules_python or overriding with a git commit. Release archives bundle python/private/artifacts_manifest.json and set TOOL_DEPS_DEV_ONLY = True in MODULE.bazel so release consumers can fetch prebuilt binaries via http_file without pulling in rules_rust. Keep the Rust exe_zip_maker disabled by default in releases until it is ready for general rollout, while keeping it enabled by default during rules_python development. Work towards bazel-contrib#4216 Work towards bazel-contrib#4250
rickeylev
marked this pull request as draft
October 18, 2026 23:51
create_archive_and_notes.sh only runs on Linux in CI and uses GNU sed --in-place, which is not supported by macOS BSD sed.
This branch has not been deployed
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.
Configure prebuilt tool binaries when consuming a release archive, and build
tools from source when developing rules_python or overriding with a git
commit. For now, using these prebuilt binaries are disabled for release
archives.
To make this work, MODULE.bazel has a boolean that decides whether
rules_rust et al are dev dependencies. By default, they are not dev
dependencies. This default is chosen so that sub-modules for
testing use the from-source toolchains and that using non-release
commits also use the from-source toolchains. When creating the
release archive, this value is rewritten to make them dev dependencies.
This means release archives can't use from-source toolchains unless
they patch MODULE.bazel (and likely more), but this seems like
a reasonable trade-off for complexity vs configurability.
Work towards #4216
Work towards #4250