Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
6dc87d5
chore: upgrade llvm module to 0.7.1, fix macos 403s (#945)
jbedard Apr 24, 2026
b872275
perf: set repo and module reproducible = True where possible (#946)
jbedard Apr 24, 2026
f1fec29
refactor: do not duplicate site_packages into DefaultInfo+runfiles of…
jbedard Apr 28, 2026
e735612
fix: check `main` by resolved file basename, not label name (#950)
jbedard Apr 28, 2026
ed717f8
refactor: upgrade toml2json to 0.0.26 (#955)
jbedard Apr 28, 2026
d5b1200
ci: use aspect-large runner for tests (#958)
jbedard Apr 28, 2026
5003694
chore: update cargo deps, remove unused (#956)
jbedard Apr 28, 2026
8352049
docs: Update Gazelle section with pytest_main usage instructions (#953)
hofbi Apr 28, 2026
80b04cd
chore: upgrade rules_rs to 0.0.64 (#915)
jbedard Apr 29, 2026
73ff6d1
refactor: cleanup unused bazel/platforms/* logic (#957)
jbedard Apr 29, 2026
b95494a
test: cherry-pick tests from #944 (#954)
jbedard May 1, 2026
39216f8
feat: add uv toolchain extension (#943)
jbedard May 1, 2026
a0a2055
refactor(uv): remove dead lib_mode/whl_mode machinery (#951)
jbedard May 1, 2026
9203442
feat: new py_image_layer
thesayyn Apr 23, 2026
c379e70
1p tiers
thesayyn Apr 24, 2026
ec42e5a
fix
thesayyn Apr 24, 2026
a0884f5
interpreter sharing
thesayyn Apr 24, 2026
46ea075
address PR #942 review comments
claude May 1, 2026
4d5226a
restore adder visibility to public
claude May 1, 2026
17bc886
update non-venv listing snapshots: launcher size +6 bytes
claude May 1, 2026
8d9bebe
update venv amd64 listing: python interpreter size 864944 -> 770168
claude May 1, 2026
9bd4b14
update venv arm64 listing: python interpreter size 853872 -> 682680
claude May 1, 2026
276dde4
fix interpreter-features-836: align with new py_image_layer mtree
claude May 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .aspect/workflows/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,15 @@ tasks:
flags: ["--test_tag_filters=-skip-on-bazel8"]
env:
USE_BAZEL_VERSION: 8.x
queue: aspect-large
- test:
name: Bazel 9
id: bazel-9
bazel:
flags: ["--test_tag_filters=-skip-on-bazel9"]
env:
USE_BAZEL_VERSION: 9.*
queue: aspect-large

- buildifier:
queue: aspect-small
Expand Down
8 changes: 8 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,14 @@ common --repo_env=BAZEL_NO_APPLE_CPP_TOOLCHAIN=1

common:ci --toolchain_resolution_debug='@@bazel_tools//tools/cpp:toolchain_type'

# rules_rs experimental toolchains require @llvm//constraints/libc:gnu.2.28 on the target
# platform for gnu Linux targets. The auto-detected host platform doesn't include it, so we
# use a custom platform that inherits host cpu/os constraints and adds gnu.2.28. This works
# on both x86_64 and aarch64 Linux builders.
# --enable_platform_specific_config (in defaults.bazelrc) makes this activate automatically on Linux.
common:linux --platforms=//bazel/platforms:linux_gnu
common:linux --host_platform=//bazel/platforms:linux_gnu

common:release --build_tag_filters=release
common:release --stamp
common:release --compilation_mode=opt
Expand Down
38 changes: 38 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,44 @@ echo "common $OVERRIDE" >> ~/.bazelrc

This means that any usage of `@aspect_rules_py` on your system will point to this folder.

## Running `uv` from the Bazel-managed toolchain

`MODULE.bazel` registers a hermetic `uv` via `uv_bin.toolchain(version = "…")`,
so there's no need to install `uv` globally. Two ways to invoke it:

### Ad-hoc: `bazel run`

```sh
bazel run @uv -- lock
bazel run @uv -- add --no-workspace requests
```

`@uv` is an alias that resolves to the host-platform UV binary for the
version configured in `MODULE.bazel`.

### On your `$PATH` via `bazel_env.bzl`

`//tools:bazel_env` maps `uv` (and `cargo`, `rustc`, `rustfmt`, multitool
binaries) to Bazel labels and materializes them into
`bazel-out/bazel_env-opt/bin/tools/bazel_env/bin/`. Pair it with
[direnv](https://direnv.net/):

1. `bazel run //tools:bazel_env` once (and again whenever versions change).
2. Create a `.envrc` next to `MODULE.bazel`:

```sh
watch_file bazel-out/bazel_env-opt/bin/tools/bazel_env/bin
PATH_add bazel-out/bazel_env-opt/bin/tools/bazel_env/bin
if [[ ! -d bazel-out/bazel_env-opt/bin/tools/bazel_env/bin ]]; then
log_error "Run 'bazel run //tools:bazel_env'"
fi
```

3. `direnv allow`.

Now `uv lock`, `uv add`, etc. resolve to the Bazel-managed binary anywhere in
the workspace.

## Releasing

1. Determine the next release version, following semver (could automate in the future from changelog)
Expand Down
66 changes: 11 additions & 55 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ clap = { version = "4.5.20", features = ["derive"] }
itertools = "0.13.0"
miette = { version = "7.2", features = ["fancy"] }
tempfile = "3.13.0"
thiserror = "1.0.64"
uv-cache = { git = "https://github.com/astral-sh/uv", rev = "855c1917e1e0e2b48c38de71bebc845af016afae" }
uv-distribution-filename = { git = "https://github.com/astral-sh/uv.git", rev = "855c1917e1e0e2b48c38de71bebc845af016afae" }
uv-extract = { git = "https://github.com/astral-sh/uv.git", rev = "855c1917e1e0e2b48c38de71bebc845af016afae" }
Expand Down
Loading