Skip to content

Tags: meta/buck2

Tags

latest

Toggle latest's commit message
Have RE stop riot Android instrumentation tests once buck2 disconnects

Summary:
**What:** Android instrumentation tests set `cancel_on_client_disconnect` on executors that target `riot` lab devices. Emulator executors are unchanged.

**Why:** buck2 asks RE to finish every started test. Cancelled or killed CI jobs thus hold Android devices 474 device-hours a day, worth $132K a year.

**Go deeper:**

- If wrong, network drops stop device tests as infra failures, expected 0.01 a day (P2578364459). Reverting this diff restores today's behavior.
- Most of it is multisect and citadel-rl-test-mode CI jobs. Test results are not cached, so a stopped run loses nothing.
- A buck2 without D128417985 ignores the unknown key, so an early land changes nothing.

Stack: Land only after D128417985 is in at least two buck2 releases (bumps).

https://docs.google.com/document/d/17p2F423T4TYJbBOdsbMaVgEe7Bv7Vofwc0LB2_GvO28/edit?tab=t.rsv5cu96698

Reviewed By: akrieger

Differential Revision: D128604066

fbshipit-source-id: e644093d4fa3839777201ffc30d2e45d7be7bc25

2026-11-01

Toggle 2026-11-01's commit message
invalidation: Drop the derived ordering on Version

Summary:
Only the invalidation path merge compared versions, and it did so with the
derived lexicographic order, which happens to be right for two versions of
one chain: branch ids are minted in creation order and a branch is younger
than the one it was forked from. No behavior change here; the comparison is
the same, under a name that says when it is meaningful, and the guarantee it
rests on is written down on `BranchId`, which `CoreState::branches` already
relied on for its parents-before-children order.

___

landed-with-radar-review

Differential Revision: D128864614

fbshipit-source-id: 95026364db3b164add47b5644d682a1cd6f24550

2026-10-15

Toggle 2026-10-15's commit message
Document exec marker preservation

Summary:
Transition authors can return a replacement `PlatformInfo`, but the effective exec configuration also retains the marker owned by Buck2. The existing guides did not explain this exception, leaving it unclear what happens when a transition omits the marker or sets it to `false`.

Document the contract in `ExecutionPlatformRegistrationInfo.exec_marker_constraint` and the execution platform and transition guides: constructors and single/split transitions restore a missing marker, while explicitly returning a different value is an error. Transition authors can omit the marker and let Buck2 preserve it. Manually supplying the same constraint on an ordinary target does not enable restoration or conflict rejection. Clarify the registration's fallback scope and the marker's presence during idempotence validation. Link the conceptual transition guide to this behavior, including its effect on otherwise empty outputs.

Reviewed By: NavidQar

Differential Revision: D124812251

fbshipit-source-id: 778d5905f00f813e64ddc71af9b7844455a5cc7d

2026-10-01

Toggle 2026-10-01's commit message
Export generated sources only for full library builds

Summary: Source ABI and source-only ABI CD actions return generated-source trees that have no consumers, causing unnecessary RE directory-metadata downloads on cache hits. Make the annotation output paths optional in the protocol and keep omitted paths inside BUCK_SCRATCH_PATH. The rules declare generated-source directory outputs only for full library compilation, preserving their existing providers and subtargets.

Reviewed By: siaojiecai

Differential Revision: D122335997

fbshipit-source-id: 3625e69c0fc6e4e5d7ad47fece1843d1c3fa5722

2026-09-15

Toggle 2026-09-15's commit message
Update flate2 from 1.1.9 to 1.1.10 (second attempt)

Summary: The WhatsApp crash that caused the revert in {D120009380} is resolved by {D120014105}.

Reviewed By: capickett

Differential Revision: D120031636

fbshipit-source-id: 60fe614f9b5661e3efbb189380692c841d0bd61a

2026-09-01

Toggle 2026-09-01's commit message
Exclude the LLVM lit macros from buck2's prelude ci_hints

Summary:
Three `ci_hint` glob lists hint on all of `tools/build_defs/**`, which
covers `tools/build_defs/llvm` -- the LLVM build macros. None of the
hinted tests use them, so editing an LLVM macro pulls in every Apple rule
test, every non-isolated buck2 e2e test, and the sample build jobs.
Exclude to avoid unnecessary broad CI jobs and improve the chances of
relevant ones getting run.

Reviewed By: bcardosolopes

Differential Revision: D117884846

fbshipit-source-id: 267bbe2d041bf93dedd578a3eaf467852e640a33

2026-08-22

Toggle 2026-08-22's commit message
No-op generic typetag registration on wasm

Summary:
The starlark-rust OSS CI wasm job (`ci_oss_wasmtime.sh`, mirrored internally by `fbcode//buck2/scripts/oss:starlark-rust-oss`) builds `starlark` for `wasm32-wasip1`. Since the generic typetag auto-registration landed (`matchers.rs` / `function.rs` monomorphization constructors, 2026-08-13), that build dies in `__pagable_emit_generic_typetag_registration!`'s catch-all arm:

```
error: generic pagable typetag registration supports only 64-bit Linux/macOS and x86_64/aarch64 Windows
  --> starlark/src/values/typing/type_compiled/matchers.rs:91:1
```

Wasm cannot use the constructor-record approach: `core::arch::asm!` is unsupported on wasm targets, and a wasm image has no loader-run constructor section for a per-monomorphization record anyway. Add a wasm arm that emits no registration — deserializing a generic typetag on wasm then fails with the registry's existing "Unknown type tag" error instead of failing the whole build at compile time. Concrete (`inventory`-based) registrations are unaffected.

Reviewed By: jtbraun

Differential Revision: D116564107

fbshipit-source-id: 826aec636b17a96f18afcf9101f9667c2ddec662

2026-08-01

Toggle 2026-08-01's commit message
Layer `.bucksettings.local.toml` in home dir over repo root settings

Summary:
Parses `.bucksettings.local.toml` from home dir. Home-local settings are recursively merged over the repo-root `.bucksettings.toml`. The pipeline is now discover settings files -> parse into tables -> merge into one table -> deserialize into `BuckSettingsData`.

Adds unit coverage for layered parsing and an e2e test verifying that a home-local value overrides the repo value.

Reviewed By: Nero5023

Differential Revision: D113876491

fbshipit-source-id: d04ffa478d03070b0e4a6619140b7fc9e5dc67a5

2026-07-15

Toggle 2026-07-15's commit message
Pin macOS OSS CI to macos-14 to unbreak Build and test

Summary:
The `macos-build-and-test` job in the OSS "Build and test" workflow (and the sibling `macos-build-examples` job in "Build and Examples") regressed again after GitHub's `macos-latest` label advanced to the `macos-15` runner image. On `macos-15`, `xcode-version: latest-stable` selects an Xcode/SDK that mis-targets the deployment SDK and breaks the `cargo build` step (see actions/runner-images#12758).

This matches the reported "recently regressed, previously recovered" pattern: switching the pin to `latest-stable` in `Use latest stable Xcode in OSS CI` briefly recovered the job while `macos-latest` still resolved to `macos-14`, then it re-broke once the label rolled forward to `macos-15`.

Pin `runs-on: macos-14` in both `build-and-test.yml` and `build-and-examples.yml`, where `latest-stable` resolves to a known-good Xcode 16.x. This is the documented remedy and is trivially reversible once the `macos-15` image is fixed upstream.

This is a GitHub-hosted-runner-image regression, not a buck2 code bug — internal macOS builds use Meta's own toolchains and stayed green, which is why it was not caught by internal signal.

___

Differential Revision: D111806260

fbshipit-source-id: d827c7eb21750faff519ece8be81a81a6f16eaa6

2026-07-01

Toggle 2026-07-01's commit message
windows-sys: enable WindowsFilteringPlatform + Authorization

Summary:
Enable the WFP (Windows Filtering Platform), Security Authorization, and System
Rpc features on the `windows-sys` crate so the Windows sandbox
(sandbox-runtime/windows-native-sandbox-rs) can install network-isolation
filters. Win32_Networking_WinSock comes in transitively.

Generated by `reindeer buckify` (third-party/rust/Cargo.toml + vendor/windows-sys/BUCK),
then `arc autocargo` to sync the mirrored windows-sys feature set into the
autocargo-enrolled consumers (arvr/apps/hzdb, fbcode/buck2,
fbcode/scm/dotslash/oss/windows_shim).

Reviewed By: dtolnay

Differential Revision: D109989460

fbshipit-source-id: 85fa0963c6a90a93f729afb7f35aca7f2ec9adb8