Skip to content

fix(uv): preserve compiler commands through native wheel builds#1134

Open
jbedard wants to merge 1 commit into
mainfrom
preserver-compiler-commands
Open

fix(uv): preserve compiler commands through native wheel builds#1134
jbedard wants to merge 1 commit into
mainfrom
preserver-compiler-commands

Conversation

@jbedard

@jbedard jbedard commented Jun 22, 2026

Copy link
Copy Markdown
Member

Changes are visible to end-users: yes

  • Searched for relevant documentation and updated as needed: yes
  • Breaking change (forces users to change their own code or config): no
  • Suggested release notes appear below: yes

Use native bazel c toolchains for CC and CXX

Test plan

  • Covered by existing test cases
  • New test cases added

@jbedard jbedard requested a review from xangcastle June 22, 2026 03:23
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@aspect-workflows

aspect-workflows Bot commented Jun 22, 2026

Copy link
Copy Markdown

✨ Aspect Workflows Tasks

📅 Thu Jun 25 20:04:42 UTC 2026

❌ 2 failed tasks

  • ❌ test-e2e-bazel-8 [test] · ⏱ 2m 47s · 🐙 GitHub Actions · ☑️ Check
    💬 failed in test · Bazel test failed (1 test failed)
  • ❌ test-e2e-bazel-9 [test] · ⏱ 3m 20s · 🐙 GitHub Actions · ☑️ Check
    💬 failed in test · Bazel test failed (1 test failed)

✅ 12 successful tasks

  • ✅ buildifier · ⏱ 51.8s · 🐙 GitHub Actions · ☑️ Check
    💬 Format complete (clean)
  • ✅ gazelle · ⏱ 33.6s · 🐙 GitHub Actions · ☑️ Check
    💬 Gazelle complete (clean)
  • ✅ test-examples-debugger-bazel-8 [test] · ⏱ 34.3s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (1/1 passed)
  • ✅ test-examples-debugger-bazel-9 [test] · ⏱ 1m 42s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (1/1 passed)
  • ✅ test-examples-dev_deps-bazel-8 [test] · ⏱ 32.4s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (1/1 passed)
  • ✅ test-examples-dev_deps-bazel-9 [test] · ⏱ 46.5s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (1/1 passed)
  • ✅ test-examples-protobuf-bazel-8 [test] · ⏱ 1m 49s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (1/1 passed)
  • ✅ test-examples-protobuf-bazel-9 [test] · ⏱ 1m 38s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (1/1 passed)
  • ✅ test-examples-uv_pip_compile-bazel-8 [test] · ⏱ 29.3s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (1/1 passed)
  • ✅ test-examples-uv_pip_compile-bazel-9 [test] · ⏱ 1m 26s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (1/1 passed)
  • ✅ test-root-bazel-8 [test] · ⏱ 3m 10s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (219/219 passed)
  • ✅ test-root-bazel-9 [test] · ⏱ 3m 40s · 🐙 GitHub Actions · ☑️ Check
    💬 Bazel test complete (218/218 passed)

❌ Test Failures

❌ _diff_test //:snapshots_17_test failed in 110ms:

diff: files "external/aspect_rules_py++uv+sdist_build__uv_sdist_native_build__python_geohash__0_8_5/BUILD.bazel" and "snapshots/sdist_build.uv_sdist_native_build.python_geohash.BUILD.bazel" differ. 

@@//:snapshots/sdist_build.uv_sdist_native_build.python_geohash.BUILD.bazel is out of date. To update this and other generated files, run:

    bazel run @@//:snapshots

To update *only* this file, run:

    bazel run //:snapshots_17




in tasks test-e2e-bazel-8, test-e2e-bazel-9

Reproduce with:

cd e2e
aspect test -- //:snapshots_17_test
# vanilla bazel
cd e2e
bazel test -- //:snapshots_17_test

🔁 Reproduce

❌ test (test-e2e-bazel-8 · test-e2e-bazel-9)

cd e2e
aspect test -- //:snapshots_17_test
# vanilla bazel
cd e2e
bazel test -- //:snapshots_17_test

Install aspect: aspect.build/docs/cli/install


⏱ Last updated Thu Jun 25 20:09:11 UTC 2026 · 📊 GitHub API quota 43/15,000 (0% used, resets in 46m)
🚀 Powered by Aspect CLI (v2026.26.18)  |  Aspect Build · X · LinkedIn · YouTube

@jbedard jbedard force-pushed the preserver-compiler-commands branch 4 times, most recently from 0f24e84 to a933c02 Compare June 23, 2026 01:29

tamird commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

I do not think CcToolchainInfo exposes a reusable compiler-command
contract for arbitrary PEP 517 backends. Bazel's configured compile and link
actions have Bazel C++ semantics; distutils, Meson, CMake, and other backends
own different driver and linker behavior after changing into the source tree.
Projecting those actions requires the sysroot, token, driver, and path
heuristics this change has accumulated.

#1152 removes that projection. Packages declare build_toolchains and env
explicitly; rules_py forwards their inputs and Make variables, makes only
exact whole-value declared tool paths absolute before chdir, and leaves all
other values opaque.

@jbedard jbedard force-pushed the preserver-compiler-commands branch from a933c02 to 8b14fa8 Compare June 25, 2026 06:31
@jbedard jbedard force-pushed the preserver-compiler-commands branch from 8b14fa8 to acc359a Compare June 25, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants