[fix] Enable (most) wrapping when seeing USER directive #34
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.
Issue
Closes #33
Description
Implements changes discussed in #33 that make wrapping in the face of a USER directory work in most cases. In particular:
Whenever Buildkit is used and the docker version is 20 or higher, use the --chmod flag to COPY.
If # 1 doesn't apply, and the last section has a USER directive, then we switch the USER to root before the copy/chmod, then we switch it back at the end.
If neither apply and there is a user inherited from a base image, then wrapping will generally still fail.
Testing
This is still in draft b/c there's no test yet. Ideally, we would do all three of: