busy-ram-14533
06/12/2025, 4:37 PMparametrize
the complete_platforms
of a pex_binary
target? I want to produce a few different targets, one for each platform...
Here's how I would like to define the target, but complete_platforms
expects a list
pex_binary(
name="bin",
entry_point="main.py",
complete_platforms=parametrize(
"//:linux_x86_64_py312",
"//:linux_arm64_py312",
"//:macos_arm64_py312"
),
)
elegant-florist-94385
06/12/2025, 4:59 PMparametrize(["//:linux"], ["//:macos"])
work?busy-ram-14533
06/12/2025, 5:47 PMpex_binary(
name="bin",
entry_point="run_squares_ray_task.py",
complete_platforms=parametrize(
["//:linux_x86_64_py312"],
["//:linux_arm64_py312"],
["//:macos_arm64_py312"],
),
)
results in
Original error message: unhashable type: 'list'
elegant-florist-94385
06/12/2025, 6:42 PMpex_binary(
name="bin",
entry_point="run_squares_ray_task.py",
complete_platforms=parametrize(
("//:linux_x86_64_py312",),
("//:linux_arm64_py312",),
("//:macos_arm64_py312",),
),
)
busy-ram-14533
06/12/2025, 7:25 PMpex_binary(
name="bin",
entry_point="run_squares_ray_task.py",
complete_platforms=parametrize(
linux_amd64=["//:linux_x86_64_py312"],
linux_arm64=["//:linux_arm64_py312"],
macos_arm64=["//:macos_arm64_py312"],
),
)
results in
% pants list path/to/ray_job:
path/to/ray_job:bin@complete_platforms=linux_amd64
path/to/ray_job:bin@complete_platforms=linux_arm64
path/to/ray_job:bin@complete_platforms=macos_arm64
thanks for helping @elegant-florist-94385, I appreciate it 🙏elegant-florist-94385
06/12/2025, 7:46 PMbusy-ram-14533
06/12/2025, 8:01 PM