bitter-ability-32190
06/21/2022, 3:04 PMrun_in_sandbox
field to pex_binary
, which currently hasn't been put in a stable release yet.
https://github.com/pantsbuild/pants/pull/15849 reverts that change in lieu of another change that offers the same behavior, but in a different way.
We need to figure out our path forward for the current release:
1. Leave the feature, then do a full deprecation cycle and remove
2. Change the field to experimental_...
so we could pull the plug without deprecation
3. Get PR 15849 in
◦ I'm only waiting on docs addition and an open TODO I want feedback on
As the author of the PR, my vote will obviously be 3 😊 , but I'd like us to be intentional on our path forward.sparse-lifeguard-95737
06/21/2022, 3:14 PMrun_in_sandbox
on pex_binary
vs. un-sandboxed run
directly on a python script - I can make either one work for my purposes. I’ve had people breathing down my neck about django management CLI + pants not working as expected, and was going to point at the new run_in_sandbox
field and say “look it’s going to work soon!” when I saw chatter here about possibly reverting the addition of that field in 2.13. I don’t mind if it’s reverted, I just want to know if it’s going to be reverted so I don’t bait-and-switch my teamhundreds-father-404
06/23/2022, 3:33 PMrun
change in 2.13 because we already are at a0 and have so many big changes
but @bitter-ability-32190 and @sparse-lifeguard-95737, how do we feel about keeping run_in_sandbox
but calling it experimental_run_in_sandbox
so that we can remove it more easily?sparse-lifeguard-95737
06/23/2022, 3:34 PMbitter-ability-32190
06/23/2022, 3:34 PMhundreds-father-404
06/23/2022, 3:40 PMexperimental_run_in_sandbox
, I still recommend we don't fully delete the field in the next Pants release. At worst, make it a no-op and then deprecate the field
@bitter-ability-32190 I vaguely remember you have an option so that running a pex_binary
runs it the old way, where we run from loose sources, right? If so, then I think we could still have experimental_run_in_sandbox
do useful things when the old semantics are used?
The intent with the name experimental_
is more than anything to discourage people from relying on the featurebitter-ability-32190
06/23/2022, 3:45 PMhappy-kitchen-89482
06/23/2022, 4:15 PMbitter-ability-32190
06/23/2022, 4:57 PMAt worst, make it a no-op and then deprecate the fieldAh I missed that. I don't like the gymnastics this switchover is going to take in the code, but in Pants 2.16 or whatever hopefully it'll be behind us?
happy-kitchen-89482
06/23/2022, 7:07 PMbitter-ability-32190
06/23/2022, 7:09 PMhappy-kitchen-89482
06/23/2022, 7:13 PMbitter-ability-32190
06/23/2022, 7:16 PMhappy-kitchen-89482
06/23/2022, 7:42 PMbitter-ability-32190
06/23/2022, 7:45 PMhappy-kitchen-89482
06/26/2022, 4:56 PMbitter-ability-32190
06/27/2022, 12:07 AM./pants run path/to/file.py
and has run_in_sandbox
set, they'll 3 get warnings 🙈 .happy-kitchen-89482
06/27/2022, 7:11 PMbitter-ability-32190
06/27/2022, 7:11 PMhappy-kitchen-89482
06/27/2022, 7:17 PMAh, well I'm bummed that this won't make it in 2.13 for our users (and for my own repo).
bitter-ability-32190
06/27/2022, 7:19 PMmain
to 2.13? And then in 2.13 add, but also deprecate run_in_sandbox
field?happy-kitchen-89482
06/27/2022, 8:15 PMbitter-ability-32190
06/27/2022, 8:16 PMhundreds-father-404
06/27/2022, 8:17 PMbitter-ability-32190
06/27/2022, 8:20 PMhappy-kitchen-89482
06/27/2022, 8:28 PMhundreds-father-404
06/27/2022, 8:31 PMfilter
goal deprecated, which impacts scripting etc
So this seems fine from a User API disruption perspective.
Lots of internal changes tho, so it may delay time to stabilizing the release. And @bitter-ability-32190 I still think we need to make the followup changes like what to do with --tailor-pex-binary-targets
in the same release. It's coupledbitter-ability-32190
06/27/2022, 8:33 PMhundreds-father-404
06/27/2022, 8:35 PMtailor
?bitter-ability-32190
06/27/2022, 8:37 PMpex_binary
be intentional and opt-in"happy-kitchen-89482
06/27/2022, 9:07 PMbitter-ability-32190
06/27/2022, 9:07 PMhappy-kitchen-89482
06/27/2022, 9:09 PMbitter-ability-32190
06/28/2022, 1:14 PMrun
a python_source
• A handful of deprecation/removal/warnings regarding current and future behavior
• New field on python_source
and friends run_goal_use_sandbox
, defaulting to True (to maintain backwards compat)
◦ @sparse-lifeguard-95737 is this sufficient? We mused about a global default a la pex-binary-defaults
, but I'd like to avoid that with 2.14's `__default__`s feature.hundreds-father-404
06/28/2022, 2:38 PMrun_in_sandbox=False
is probably the best default -- but we are no longer immediately jumping to that, as it would be breaking
As a result, I'm less concerned than I was beforebitter-ability-32190
06/28/2022, 4:17 PM