Do not re-execute campaign spec steps when the diff is still valid
Created by: chrispine
By changing the JSON marshalling of Task
to ignore the Template
, this makes it so that changes to the template (assuming no changes to steps:
or on:
) will serialize to the same JSON, so the previous run is found in the cache.
We then reuse the diff from the cache, and otherwise use the new spec.
Testing: I tested this manually with the hello world campaign. I think everything worked correctly, and that my errors were unrelated to this feature, but I'd really appreciate someone else running a campaign and verifying that this works for them, too.
Closes #13172