Skip to content

Commit

Permalink
Try and make ScriptWorkspace.Delete more reliable (#752)
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanwoctopusdeploy authored Dec 20, 2023
1 parent bf69ed8 commit 325fb78
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions source/Octopus.Tentacle/Scripts/ScriptWorkspace.cs
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,20 @@ public string ResolvePath(string fileName)
public async Task Delete(CancellationToken cancellationToken)
{
await FileSystem.DeleteDirectory(WorkingDirectory, cancellationToken, DeletionOptions.TryThreeTimesIgnoreFailure);

// It appears that the FileSystem.DeleteDirectory method can fail to delete the directory in cases where Directory.Delete(recursive: true) can be successful.
// Leaving the existing code as we would need to understand more about the intent of the logic before changing it but adding in another best effort attempt to delete the directory.
if (Directory.Exists(WorkingDirectory))
{
try
{
Directory.Delete(WorkingDirectory, true);
}
catch
{
// Best effort cleanup so don't throw
}
}
}

public IScriptLog CreateLog()
Expand Down

0 comments on commit 325fb78

Please sign in to comment.