De-duplicate run args passed to bazel image targets. #2184
+11
−0
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.
When 'bazel run' is called, it expects that the args specified in the BUILD file are not known to the run command and will prepend them to all other arguments.
However, we have already baked those commands into the image, because users expect that 'args' in the case of an image target will be included in the image. This templated script de-duplicates the args specified in the BUILD file by passing itself the number of args already included in the image.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Issue Number: #2124
In the case of an image target being passed arguments, the arguments will actually be passed to the image
target by bazel twice, once at build time and another at runtime. This interferes with the expected order of
arguments (because command arguments are inserted before docker run arguments)
What is the new behavior?
The new behavior should match the documentation.
Does this PR introduce a breaking change?
Other information