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
However, the .task/checksum is only fingerprinting the last invocation of the wildcard task. Meaning that when running through a collection of wildcard tasks, the fingerprinting does not prevent any unnecessary work because a single file (.task/checksum/tofu-test_-_-) is being used to fingerprint multiple different invocations of the wildcard task.
I have created a simplified example of the issue here.
Running task copy calls task paste-* on each item. The .task/checksum/paste-- file stores the fingerprint of each call, replacing the previous one. This means that each call to task copy runs the full copy each time, even though the inputs and outputs have not changed.
I would imagine the correct behavior would be for .task/checksum to store the specific invocation of the wildcard task to prevent overwriting the checksum.
Please let me know if there is an issue in my implementation. Thanks!
Description
I am attempting to use wildcard tasks along with fingerprinting to create task runners for my open tofu homelab modules. I am using nested wildcard tasks to be able to run all tests, module tests, or a specific test. I am expecting the
.task/checksum
fingerprinting each unique invocation of the wildcard task, to prevent unnnessecary work.However, the
.task/checksum
is only fingerprinting the last invocation of the wildcard task. Meaning that when running through a collection of wildcard tasks, the fingerprinting does not prevent any unnecessary work because a single file (.task/checksum/tofu-test_-_-
) is being used to fingerprint multiple different invocations of the wildcard task.I have created a simplified example of the issue here.
Running
task copy
callstask paste-*
on each item. The.task/checksum/paste--
file stores the fingerprint of each call, replacing the previous one. This means that each call totask copy
runs the full copy each time, even though the inputs and outputs have not changed.I would imagine the correct behavior would be for
.task/checksum
to store the specific invocation of the wildcard task to prevent overwriting the checksum.Please let me know if there is an issue in my implementation. Thanks!
Version
Task version: 3.40.1 ()
Operating system
ProductName: macOS ProductVersion: 14.4.1 BuildVersion: 23E224
Experiments Enabled
No response
Example Taskfile
The text was updated successfully, but these errors were encountered: