Fix default client env when var is set (#2128)
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
This commit is contained in:
parent
80ae63928b
commit
defb4642cd
@ -62,7 +62,7 @@ func (t clientEnvTask) getEnv(envvar string, v *compiler.Value, pctx *plancontex
|
||||
return secret.MarshalCUE(), nil
|
||||
}
|
||||
|
||||
if val.IsConcrete() {
|
||||
if !hasDefault && val.IsConcrete() {
|
||||
return nil, fmt.Errorf("%s: unexpected concrete value, please use a type or set a default", envvar)
|
||||
}
|
||||
|
||||
|
@ -183,6 +183,16 @@ setup() {
|
||||
export TEST_SECRET="bar"
|
||||
|
||||
"$DAGGER" "do" -p ./plan/client/env/usage.cue test
|
||||
|
||||
}
|
||||
|
||||
@test "plan/client/env default" {
|
||||
cd "${TESTDIR}"
|
||||
|
||||
export TEST_DEFAULT="hello universe"
|
||||
|
||||
"$DAGGER" "do" -p ./plan/client/env/default.cue test
|
||||
|
||||
}
|
||||
|
||||
@test "plan/client/env not exists" {
|
||||
|
19
tests/plan/client/env/default.cue
vendored
Normal file
19
tests/plan/client/env/default.cue
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"dagger.io/dagger"
|
||||
"dagger.io/dagger/core"
|
||||
)
|
||||
|
||||
dagger.#Plan & {
|
||||
client: env: TEST_DEFAULT: string | *"hello world"
|
||||
actions: {
|
||||
image: core.#Pull & {
|
||||
source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
|
||||
}
|
||||
test: core.#Exec & {
|
||||
input: image.output
|
||||
args: ["test", client.env.TEST_DEFAULT, "=", "hello universe"]
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user