Currently, if you try to act-tester-invoke a plan that has already been invoked, the invoker will fail with a cryptic error message:
A fatal error has occurred:
while forwarding updates: remote error: while running compiler: duplicate compile result: compiler="clang.9"
This occurs, I think, because the existing compiler records from the last invocation clash with the ones the invoker is trying to insert.
Trying to re-invoke a plan is actually useful for debugging errors, since it lets us check compiler failures for reproducibility. As such, the tester should really be allowing re-invoking.
My current thoughts on this feel like:
Make it so that the invoker checks for a stage confirm on an invoke, and, by default, refuses to re-invoke.
Make it so that the check can be bypassed by a 'force' flag (-f).
Make it so that, if there was originally a stage confirm for invoke, it gets stripped, and the plan gets all of its compilation and run results deleted too.
Currently, if you try to
act-tester-invoke
a plan that has already been invoked, the invoker will fail with a cryptic error message:This occurs, I think, because the existing compiler records from the last invocation clash with the ones the invoker is trying to insert.
Trying to re-invoke a plan is actually useful for debugging errors, since it lets us check compiler failures for reproducibility. As such, the tester should really be allowing re-invoking.
My current thoughts on this feel like:
-f
).