You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Sometimes a process implicitly depends on the outcome of another process, even though it does not consume any of that other process's outputs, and so there is no causal chain that Pants can use to track this dependency.
For an example and context, see #16419: A child docker image build depends on the parent image build completing successfully first, but since the relevant state is held externally by the docker daemon, the child build's Process object does not change when the parent's does. Note that setting PER_SESSION scope is not sufficient here: Pants will speculate the parent and child processes concurrently, and will have no reason to cancel the child process.
Describe the solution you'd like
A field on Process that gets mixed in to the cache key but doesn't affect the Process output. This field could be a tuple of strings or a map of string to string (where the key identifies what the value represents, for ease of debugging). In the example above, this field could list the image ids of the upstream images.
Describe alternatives you've considered
The workaround is to put those strings in a file in the input Digest, or in an env var. But this is hacky.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Sometimes a process implicitly depends on the outcome of another process, even though it does not consume any of that other process's outputs, and so there is no causal chain that Pants can use to track this dependency.
For an example and context, see #16419: A child docker image build depends on the parent image build completing successfully first, but since the relevant state is held externally by the docker daemon, the child build's Process object does not change when the parent's does. Note that setting PER_SESSION scope is not sufficient here: Pants will speculate the parent and child processes concurrently, and will have no reason to cancel the child process.
Describe the solution you'd like
A field on Process that gets mixed in to the cache key but doesn't affect the Process output. This field could be a tuple of strings or a map of string to string (where the key identifies what the value represents, for ease of debugging). In the example above, this field could list the image ids of the upstream images.
Describe alternatives you've considered
The workaround is to put those strings in a file in the input Digest, or in an env var. But this is hacky.
The text was updated successfully, but these errors were encountered: