Skip to content

chore: drop Rust-era toolchains and release tooling#9

Merged
benfdking merged 1 commit into
mainfrom
chore/drop-rust-toolchain-vestiges
May 23, 2026
Merged

chore: drop Rust-era toolchains and release tooling#9
benfdking merged 1 commit into
mainfrom
chore/drop-rust-toolchain-vestiges

Conversation

@benfdking
Copy link
Copy Markdown

Summary

Clean up the C/Rust build infrastructure that PR #3 (Starlark spike) left orphaned.

MODULE.bazel — drop:

  • toolchains_musl bazel_dep and its use_extension block
  • toolchains_llvm bazel_dep, use_extension, and register_toolchains block

.bazelrc — drop the build:release config (references @rules_rust which is gone).

Deleted directories/files:

  • tools/linkers/ — only consumer was toolchains_musl.config's extra_target_compatible_with
  • tools/release/defs.bzlrust_binary is now a 5-line no-op stub
  • tools/release/copy_release_artifacts.sh — script targets a Bazel label that no longer exists
  • tools/release/artifacts/cli-{arm64,x86_64}-{apple-darwin,unknown-linux-musl} — ~3.3 MB of pre-built Rust CLIs from the pre-spike era; no longer rebuilt, no longer consumed
  • tools/release/BUILD.bazel — only declared a filegroup of those artifacts

What's preserved and why

tools/platforms/ stays. It's referenced at runtime by playwright/private/browser_targets.bzl:160 and :185, which emit select()s that key on @rules_playwright//tools/platforms:{linux_x86_64,linux_arm64,…} so the generated Playwright repo picks the right browser for the consumer's build configuration.

Test plan

  • bazelisk build //... passes
  • examples/rules_js test step passes (the Starlark playwright extension still resolves tools/platforms aliases correctly)
  • Release workflow still produces rules_playwright-*.tar.gz (it's just git archive + stardoc — independent of the deleted infra)

🤖 Generated with Claude Code

PR #3 replaced the Rust CLI with pure Starlark, but the C/Rust
build infrastructure that fed it was left in place. Nothing in
the current tree consumes any of it:

- toolchains_musl + tools/linkers/ existed to statically link
  the Linux CLI release binary against musl libc.
- toolchains_llvm provided the clang/LLVM C toolchain for the
  same Rust build path.
- tools/release/defs.bzl is now a no-op stub; the committed
  tools/release/artifacts/cli-* binaries (~3.3 MB) are leftover
  pre-built CLIs with no consumer and no rebuild path.
- The build:release config in .bazelrc references @rules_rust,
  which was removed in PR #3.

tools/platforms/ is preserved — it's still referenced from
playwright/private/browser_targets.bzl at runtime by the
generated Playwright repository's select() over CPU/OS.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@benfdking benfdking merged commit 1af0e3d into main May 23, 2026
1 check passed
@benfdking benfdking mentioned this pull request May 23, 2026
2 tasks
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.

1 participant