Closed alessfg closed 6 months ago
I repro as well with:
Do you have the same error?
Yep! That's one of the errors I'm seeing. The actual error depends on the "format" I try but they all follow the same style.
Ok so this error https://github.com/docker/build-push-action/issues/1072#issuecomment-1979174962 is related to csv parsing in build command (buildx) which make sense because quotes should take the whole column. Correct syntax is:
type=image,"name=ghcr.io/nginxinc/nginx-unprivileged,docker.io/nginxinc/nginx-unprivileged",push-by-digest=true,name-canonical=true,push=true
But still fails with:
Error: buildx failed with: ERROR: invalid value docker.io/nginxinc/nginx-unprivileged
I think this is related to the csv-parse lib that we are using in our actions toolkit: https://github.com/docker/actions-toolkit/blob/7fb507050a318dff09c0e4dd89c14a569fc62548/src/util.ts#L40 that is stripping the quotes where it should not:
/usr/bin/docker buildx build --file ./Dockerfile --iidfile /home/runner/work/_temp/docker-actions-toolkit-8En3Bu/iidfile --output type=image,name=ghcr.io/nginxinc/nginx-unprivileged,docker.io/nginxinc/nginx-unprivileged,push-by-digest=true,name-canonical=true,push=true ...
So might need changes in actions-toolkit. Still digging.
Ok after tests in https://github.com/docker/actions-toolkit/pull/273, we need to keep quotes around fields for this input by setting quote
to false
: https://csv.js.org/parse/options/quote/
Description
Hello! Not entirely sure if this is a bug or a missing functionality, but tl;dr -- I can't seem to figure out how to use multiple names when using output
type=image
and thus push the image to multiple registries (you can find the original PR here https://github.com/nginxinc/docker-nginx-unprivileged/pull/195). The docs mention that when using thebuildx
CLI, you can wrap the list of names in double quotes, but no matter what I try, this action seems to fail. I've tested all combinations of escape sequences too to no avail (""
,\"
,\\"
). I've also opened up a discussion which includes a bit more information (https://github.com/docker/build-push-action/discussions/1067). Finally, here's a sample code block of one of the things I've tried:Let me know if you need any more information!