feat: copy from host to container #2782
Draft
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.
Add CopyHostPathTo to container methods, which is capable of copying files and directories from the host to a container. It identifies the correct copy semantics based on inspecting the source and target, replicating the behaviour of docker cp and other OS copy tools.
This deprecates CopyDirToContainer and CopyFileToContainer while still correcting their behaviour to also match docker cp behaviour.
Replace nonamedreturns linter with nakedret, as nonamedreturns prevents naming returned parameters which has a number of valid uses including: disambiguating return values and error checking.
Copying files to the container now doesn't compression as this is slower and consumes more resources for the typical local transfer case.
Fix docker copy tests to they validate the correct behaviour by ensuring that done is reported to the container log.
Clean up some error wrapping.
Fixes #2780