Fix local base image temp directory cleanup #2018
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #2016. Rather than using a shutdown hook to clean up temporary directories, we keep track of them in a thread-safe set that gets passed into the build steps and iterate through them when the build steps finish. I'm not sure how I feel about passing around a list that gets modified inside the build steps, but I think it's overall simpler than doing something like returning multiple values (the temp directories + whatever the steps were originally returning) and collecting them in
StepsRunner
.Also, right now the only two steps that use temporary directories are
SaveDockerStep
andExtractTarStep
, which happen one after the other, so the thread-safe data structure may be unnecessary at the moment.