Repository navigation
latest
Pre-release
Pre-release
·
0 commits
to 2e447dbcded5c3d8e37a1b20ac5d70afd85ccaf9
since this release
Pass tenting ACL names from Buck2 to TPX via labels Summary: High level doc ( part 1 ): [RFC] ACL Metadata Propagation for Code Tenting by Michael Julio Post: Code Tenting: Propagating ACL Tenting Metadata via Buck in Buck2 Dev by michaeljulio Thread tenting ACL names through the Buck2 test pipeline and pass them to TPX as labels on the ExternalRunnerSpec. This enables TPX to detect tented tests and apply appropriate security policies. **Details** - In `interpret_targets`, query `TentingAclProvider` from DICE global data for each package path to get ACL names - Thread `tenting_acl_names: Option<Vec<String>>` through all test pipeline stages: `ConfigureTarget` → `BuildTarget` → `TestTarget` → `dispatch()` - In `build_external_runner_spec()`, JSON-encode all ACL names into a single label `tpx_test_config::tenting_acl_names=["<acl>", ...]` on the `ExternalRunnerSpec`. A single JSON-array label (not one label per ACL) is used because TPX reads the value via a single prefix match (`find_value_after_prefix`) and every downstream layer stores/decodes it as a JSON-encoded array string - ACL names keep their full `REPO_REGION:` identity prefix exactly as returned by EdenFS `getAttributesFromFilesV2` in `AclEntry.repoRegionAcl` - For targets discovered via the `tests` attribute, `tenting_acl_names` is set to `None` (they inherit their own package's tenting status independently) Reviewed By: JakobDegen, lironmosh Differential Revision: D104053830 fbshipit-source-id: 21665cef9e6548878e16f4d7e9373647f7ffc28f