Skip to content

build: migrate codebase to Bazel (#377) - #386

Closed
filmil wants to merge 25 commits into
mainfrom
bazel-migration
Closed

build: migrate codebase to Bazel (#377)#386
filmil wants to merge 25 commits into
mainfrom
bazel-migration

Conversation

@filmil

@filmil filmil commented Aug 12, 2026

Copy link
Copy Markdown
Member

This PR serves as the culmination of the Bazel migration effort tracked within the bazel-migration branch. It will cleanly rebase onto main once the stacked pull requests are merged.

filmil and others added 25 commits August 12, 2026 04:49
Adds .bazelversion, MODULE.bazel, and related configuration
for bootstrapping a Bazel workspace with rules_rust, rules_foreign_cc,
and llvm toolchains. This sets the foundation for porting the rust_icu
build to bazel.
- Uses `bazel-contrib/setup-bazel` rather than manual npm resolution

Issue: #376
Adds bzlmod integration via icu_deps.bzl to pull ICU 74, 75, 76,
and 77 archive targets. Sets up configure_make tasks for static
and shared compilation of ICU, overriding upstream BUILD rules.
This commit re-adds the `rustc_link_libs()` emit for the standard Cargo build lifecycle
while specifically silencing it when Bazel compiles via `cargo_build_script`.

Issue: #376
This commit synthesizes Bazel build targets for all 25 remaining rust_icu
crates and their test suites, closing the compilation gap.

Features:
- Dynamically resolves ICU testdata absolute paths inside Bazel runfiles.
- Leverages static data packaging for ICU to ensure symbol resolution during tests.
- Statically bundles `.res` objects for URes compilation testing without genrb in sandbox.

Issue: #376
* build: auto-publish and ToT matrix CI

* build: format bazel files with buildifier

* docs: document public APIs in Starlark files

* fix: remove root workspace manifest from release-please

* fix: switch to manifest-based release-please configuration for rust-workspace

* fix: use correct cargo-workspace plugin for release-please
* docs: modernize README for Bazel environment

* docs: remove remnants of nonhermetic installation and add migration note

* Revert "docs: remove remnants of nonhermetic installation and add migration note"

This reverts commit 660baa7.

* docs: remove remnants of nonhermetic installation and add migration note
@filmil filmil closed this Aug 12, 2026
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