Bake: empty block should equal `null`, not empty string
dvdksn opened this issue · comments
Contributing guidelines
- I've read the contributing guidelines and wholeheartedly agree
I've found a bug and checked that ...
- ... the documentation does not mention anything about my problem
- ... there are no open or closed issues that are related to my problem
Description
with variable "FOO" {}
, I think that FOO
should evaluate to null
, not an empty string.
Expected behaviour
variable "foo" {}
target "default" {
args = {
isNull = equal(foo, null)
isEmptyString = equal(foo, "")
}
}
$ bake --print
{
"target": {
"default": {
"context": ".",
"dockerfile": "Dockerfile",
"args": {
"isEmptyString": "false",
"isNull": "true"
}
}
}
}
Actual behaviour
variable "foo" {}
target "default" {
args = {
isNull = equal(foo, null)
isEmptyString = equal(foo, "")
}
}
$ bake --print
{
"target": {
"default": {
"context": ".",
"dockerfile": "Dockerfile",
"args": {
"isEmptyString": "true",
"isNull": "false"
}
}
}
}
Buildx version
github.com/docker/buildx 3b25e3f 3b25e3f
Docker info
No response
Builders list
[david:~/src/s/playground] $ buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS
container* docker-container
\_ container0 \_ desktop-linux running 064e35a linux/arm64, linux/amd64, linux/amd64/v2, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
default docker
\_ default \_ default running v0.13.2 linux/arm64, linux/amd64, linux/amd64/v2, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
desktop-linux docker
\_ desktop-linux \_ desktop-linux running v0.13.2 linux/arm64, linux/amd64, linux/amd64/v2, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
cloud-docker-default cloud error
Cannot load builder cloud-docker-default: failed to find driver "cloud"
Configuration
variable "foo" {}
target "default" {
args = {
isNull = equal(foo, null)
isEmptyString = equal(foo, "")
}
}
Build logs
No response
Additional info
No response