migrate backends/vulkan/test (fbcode python_unittest + xplat fb_native) - #21431
migrate backends/vulkan/test (fbcode python_unittest + xplat fb_native)#21431bigfootjon wants to merge 7 commits into
Conversation
Summary: Chunk 11 of fbcode/executorch TARGETS->BUCK migration. 5 directories that had only a TARGETS file with substantive fbcode-only content but were skipped from earlier chunks for various reasons (`fbcode_target(`, `fbcode_macros`, fbcode-only kwargs, etc.). Same chunk-6 pattern: created `targets.bzl` with `define_common_targets(is_fbcode = False)` whose body opens with `if not is_fbcode: return`, replaced TARGETS with a thin BUCK calling `define_common_targets(is_fbcode = is_fbcode())`. Directories migrated: - backends/aoti/tests - backends/cuda/runtime - backends/cuda/tests - extension/pybindings/fb - extension/pytree/test Differential Revision: D109082053
Summary: Add is_fbcode param to define_common_targets and early-return outside fbcode. The cxx_test rules use fbcode-only kwargs (keep_gpu_sections, re_test_utils.remote_execution) and were never evaluated in xplat (TARGETS-only pre-migration). Replaced TARGETS with thin BUCK calling define_common_targets(is_fbcode = is_fbcode()). Differential Revision: D109082041
Summary: Add is_fbcode early-return to existing define_common_targets. The cpp_unittest rules use fbcode-only kwargs (keep_gpu_sections, re_test_utils.remote_execution) and can't run in xplat. Replaced TARGETS with thin BUCK. Differential Revision: D109082049
Summary: Add is_fbcode early-return; replace TARGETS with thin BUCK. Differential Revision: D109082042
Summary: TARGETS contained fbcode-only Python rules (placeholder backend imports); BUCK contained xplat-only Apple platform cxx_library targets. Created a new targets.bzl with define_common_targets(is_fbcode = False) whose body splits via if/else: fbcode branch holds the Python rules, xplat branch holds the Apple cxx targets. Replaced BUCK with thin caller, deleted TARGETS. Differential Revision: D109082057
Summary: The TARGETS file was 0 bytes; BUCK defines the actual neuron_backend cxx_library targeting Android. fbcode now falls through to BUCK with no behavior change. Differential Revision: D109082047
Summary: TARGETS had fbcode-only python_unittest rules; BUCK had xplat fb_native filegroup + define_compute_api_test_targets() call. Combined into a new targets.bzl with if/else split on is_fbcode. Differential Revision: D109082043
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/21431
Note: Links to docs will display an error until the docs builds have been completed. ❌ 4 New FailuresAs of commit b3898f9 with merge base c7b6f52 ( NEW FAILURES - The following jobs have failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@bigfootjon has exported this pull request. If you are a Meta employee, you can view the originating Diff in D109082043. |
This PR needs a
|
There was a problem hiding this comment.
Pull request overview
This PR migrates several directories from fbcode-only TARGETS build files (and mixed TARGETS/BUCK setups) to a unified BUCK + targets.bzl pattern, using is_fbcode() to preserve the prior fbcode-vs-xplat behavior split. This aligns these test/build target definitions with the broader build-file migration approach used across the repo.
Changes:
- Introduce new
targets.bzlentrypoints that encapsulate fbcode vs xplat target definitions behinddefine_common_targets(is_fbcode=...). - Replace/retire
TARGETSfiles in multiple locations, adding (or updating)BUCKfiles to calldefine_common_targets(...). - Wrap a MediaTek runtime library target with
non_fbcode_target(...)to keep it non-fbcode-only during migration.
Reviewed changes
Copilot reviewed 28 out of 29 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| extension/pytree/test/targets.bzl | New shared target definitions (fbcode-only tests gated via is_fbcode). |
| extension/pytree/test/TARGETS | Removed legacy fbcode TARGETS definitions. |
| extension/pytree/test/BUCK | New BUCK entrypoint calling define_common_targets(is_fbcode = is_fbcode()). |
| examples/models/llama/config/targets.bzl | Gate fbcode-only python_unittest usage behind is_fbcode parameter. |
| examples/models/llama/config/TARGETS | Removed legacy TARGETS wrapper that invoked define_common_targets(). |
| examples/models/llama/config/BUCK | New BUCK entrypoint calling define_common_targets(is_fbcode = is_fbcode()). |
| backends/vulkan/test/targets.bzl | Consolidates fbcode Python unittests and xplat shader/filegroup + compute-api test targets into one define_common_targets. |
| backends/vulkan/test/TARGETS | Removed legacy fbcode TARGETS test definitions. |
| backends/vulkan/test/BUCK | Switched to calling define_common_targets(is_fbcode = is_fbcode()) rather than defining xplat targets directly. |
| backends/mediatek/runtime/BUCK | Wraps the neuron_backend runtime.cxx_library with non_fbcode_target(...). |
| backends/cuda/tests/targets.bzl | New fbcode-gated CUDA test targets moved from TARGETS. |
| backends/cuda/tests/TARGETS | Removed legacy TARGETS definitions for CUDA tests. |
| backends/cuda/tests/BUCK | New BUCK entrypoint calling define_common_targets(is_fbcode = is_fbcode()). |
| backends/cuda/runtime/targets.bzl | New fbcode-gated CUDA runtime + C++ unit tests moved from TARGETS. |
| backends/cuda/runtime/TARGETS | Removed legacy TARGETS definitions for CUDA runtime/test targets. |
| backends/cuda/runtime/shims/tests/targets.bzl | Updates define_common_targets to accept is_fbcode and early-return outside fbcode. |
| backends/cuda/runtime/shims/tests/TARGETS | Removed legacy TARGETS wrapper invoking define_common_targets(). |
| backends/cuda/runtime/shims/tests/BUCK | New BUCK entrypoint calling define_common_targets(is_fbcode = is_fbcode()). |
| backends/cuda/runtime/BUCK | New BUCK entrypoint calling define_common_targets(is_fbcode = is_fbcode()). |
| backends/apple/coreml/targets.bzl | New combined fbcode + xplat target definitions, preserving the prior split via is_fbcode. |
| backends/apple/coreml/TARGETS | Removed legacy fbcode TARGETS definitions. |
| backends/apple/coreml/BUCK | Reduced to a dispatcher that calls define_common_targets(is_fbcode = is_fbcode()). |
| backends/aoti/tests/targets.bzl | New fbcode-gated AOTI test targets moved from TARGETS. |
| backends/aoti/tests/TARGETS | Removed legacy TARGETS definitions for AOTI tests. |
| backends/aoti/tests/BUCK | New BUCK entrypoint calling define_common_targets(is_fbcode = is_fbcode()). |
| backends/aoti/slim/factory/test/targets.bzl | Gates prior fbcode-only test definitions via is_fbcode param + early return. |
| backends/aoti/slim/factory/test/TARGETS | Removed legacy TARGETS wrapper invoking define_common_targets(). |
| backends/aoti/slim/factory/test/BUCK | New BUCK entrypoint calling define_common_targets(is_fbcode = is_fbcode()). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ndmitchell
left a comment
There was a problem hiding this comment.
Review automatically exported from Phabricator review in Meta.
Summary:
TARGETS had fbcode-only python_unittest rules; BUCK had xplat fb_native
filegroup + define_compute_api_test_targets() call. Combined into a new
targets.bzl with if/else split on is_fbcode.
Differential Revision: D109082043
cc @SS-JIA @manuelcandales @digantdesai @cbilgin