This is a very similar fix to
https://github.com/pulumi/pulumi/pull/16371, but for imports instead of
create and updates.
When using the import resource option with continue-on-error, and there
is a diff in the import, the import fais, but we still also return the
completion function from the `Apply` call. This results in the engine
trying to call `Done` twice, which in turn results in it running
indefinitely, trying to write the result to a channel that's no longer
being read from.
Fix this by not returning the completion function from `Apply` for the
ImportStep when there is an error.
(I went through the other steps as well to double check we don't need a
similar fix there, and it looks like they are all fine).
Fixes: https://github.com/pulumi/pulumi/issues/16570