Skip to content

Migrate to hermetic llvm#2312

Merged
MarcusSorealheis merged 4 commits intoTraceMachina:mainfrom
MarcusSorealheis:migrate-to-hermetic-llvm
May 8, 2026
Merged

Migrate to hermetic llvm#2312
MarcusSorealheis merged 4 commits intoTraceMachina:mainfrom
MarcusSorealheis:migrate-to-hermetic-llvm

Conversation

@MarcusSorealheis
Copy link
Copy Markdown
Collaborator

@MarcusSorealheis MarcusSorealheis commented May 8, 2026

Description

Provide an Bazel-native alternative path to Nix managed toolchains

Type of change

Please delete options that aren't relevant.

  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to
    not work as expected)

How Has This Been Tested?

Please also list any relevant details for your test configuration

Checklist

  • Updated documentation if needed
  • Tests added/amended
  • bazel test //... passes locally
  • PR is contained in a single commit, using git amend see some docs

This change is Reviewable

Comment thread MODULE.bazel
# repo at the module level.
#
# The local musl-platforms patch is still applied because the hermeticbuild
# fork does not list x86_64/aarch64-unknown-linux-musl as supported triples in
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

really? it's right here https://github.com/hermeticbuild/rules_rs/blob/b332517e256e8c8aeed594f40fcb55bca8303de4/rs/platforms/triples.bzl#L52

i should delete rust/platform/triple_mappings.bzl from the rules_rust fork; it's unused and seems to be causing confusion :)

@palfrey
Copy link
Copy Markdown
Member

palfrey commented May 8, 2026

I'm assuming we don't need #2311 after this?

Can also kill off #2276 (my earlier Bazel 9 attempt)

Comment thread toolchain-examples/MODULE.bazel Outdated
# Rust
# Rust — see the parent MODULE.bazel for the archive_override that pins
# rules_rust to the hermeticbuild fork.
bazel_dep(name = "rules_rust", version = "0.68.1")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we drop this in favour of rules_rs?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes 😁 I just wanted permission. Thank you.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this actually led to a number of wackamoles of platform constraints. i'm tracking them down and reformatting.

@MarcusSorealheis MarcusSorealheis force-pushed the migrate-to-hermetic-llvm branch from da90f0a to f16fbd1 Compare May 8, 2026 10:52
@MarcusSorealheis MarcusSorealheis enabled auto-merge (squash) May 8, 2026 10:53
@MarcusSorealheis MarcusSorealheis merged commit f5846df into TraceMachina:main May 8, 2026
32 of 33 checks passed
amankrx added a commit to amankrx/nativelink that referenced this pull request May 9, 2026
Brings in upstream changes since the last sync, including:
  - feb6a15 Bound CAS leader-wait + per-blob batch deadline (TraceMachina#2298)
  - 43ab01d Add expiry to completed redis actions (TraceMachina#2315)
  - 6cdcf8e fix RBE CI for hermetic LLVM (TraceMachina#2314)
  - f5846df Migrate to hermetic llvm (TraceMachina#2312)

Conflicts resolved (all kept the local superset where the local change
extended an upstream one):
  - nativelink-store/src/fast_slow_store.rs: kept HEAD's
    `huge_blob_dedup_bypasses` / `fast_store_stale_map_falls_through`
    metrics and the `DEFAULT_BYPASS_DEDUP_THRESHOLD_BYTES` const
    alongside upstream's `LEADER_WAIT_TIMEOUT` / `leader_wait_timeouts`
  - nativelink-store/src/filesystem_store.rs: kept HEAD's path_type=Temp
    bookkeeping inside the ENOENT branch on top of upstream's
    debug-demote of the rename failure
  - nativelink-store/src/redis_store.rs: kept HEAD's 4s PING_TIMEOUT
    and richer doc comment
  - nativelink-store/tests/{fast_slow_store_test,redis_store_test}.rs:
    concatenated both branches' independent test additions; merged
    `use` lists; updated `test_search_by_index_skips_int_from_cursor_read`
    to expect the local FT.AGGREGATE TIMEOUT clause; added
    `bypass_dedup_threshold_bytes: 0` to upstream's new FastSlowSpec
    literal so it satisfies the field added locally.

All 30 test binaries across nativelink-store and nativelink-util pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

3 participants