Just stumbled upon this.
Below is the simplest repro I could come-up with (ignore the fact this is non-sense - the point is that it should not panic).
#E: dagger.#Exec & {
script: string | *""
arguments: [...string]
if script != "" {
args: arguments
}
}
foo: #dagger: compute: [
{
do: "fetch-container"
ref: "dubodubonduponey/debian"
},
dagger.#E & {
script: "echo lol"
}
]
#Exec2: field `script` not allowed:
./cue.mod/pkg/duponey.cloud/dagger/main.cue:59:5
./cue.mod/pkg/duponey.cloud/dagger/main.cue:45:8
./cue.mod/pkg/duponey.cloud/dagger/main.cue:55:9
./cue.mod/pkg/duponey.cloud/dagger/main.cue:56:3
10:02AM INF running
10:02AM DBG assembled boot script bootSource="[{\n\tdo: \"local\"\n\tdir: \"/Users/dmp/Projects/Distribution/docker-images/docker-debian/hack\"\n\tinclude: [\"*.cue\", \"cue.mod\"]\n}]"
10:02AM DBG Op.Walk v={}
10:02AM DBG New Env boot="[{\n\tdo: \"local\"\n\tdir: \"/Users/dmp/Projects/Distribution/docker-images/docker-debian/hack\"\n\tinclude: [\"*.cue\", \"cue.mod\"]\n}]" input=
10:02AM DBG building cue configuration from boot state
10:02AM DBG Compiler.Build: processing path=/cue.mod
10:02AM ??? #1 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #1 sha256:daa79f569a3538b5d573cb444dfae05c4672db96ff70070abdfdd9ca38a0a98e
10:02AM ??? #1 transferring /Users/dmp/Projects/Distribution/docker-images/docker-debian/hack: 915B done
10:02AM ??? #1 DONE 0.0s
10:02AM DBG Compiler.Build: processing path=/cue.mod/module.cue
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/cake
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/cake/cake
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/cake/cake/main.cue
10:02AM ???
10:02AM ??? #2 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #2 sha256:5fe9133f93a69ffbd2aa0897773fc33f2dd3686187d66ef01710b67a8eebc76a
10:02AM ??? #2 DONE 0.0s
10:02AM ???
10:02AM ??? #3 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #3 sha256:02352f08a2204716369281aa893de14d4557bb5bee954aa10805d6c81118b2c9
10:02AM ??? #3 DONE 0.0s
10:02AM ???
10:02AM ??? #4 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #4 sha256:719717cbf90d9efe0e555c33ddef6a1c4c5ffe002dfe978e84fb58e97532a7ae
10:02AM ??? #4 DONE 0.0s
10:02AM ???
10:02AM ??? #5 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #5 sha256:2ed0ff54d057fa8577b569fd871cdd9b50d01a45a393d9b8a1e7ecf64cf4a113
10:02AM ??? #5 DONE 0.0s
10:02AM ???
10:02AM ??? #6 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #6 sha256:615968a50b24d0a644dbb2efe42094cbd67a4b31c21981ef098ac18b9bd310a5
10:02AM ??? #6 DONE 0.0s
10:02AM ???
10:02AM ??? #7 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #7 sha256:a20691a6602a919ff8db47ee8ddd0fc36040b9df514c624a31d44b93c79ecbbc
10:02AM ??? #7 DONE 0.0s
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/cake/dubo
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/cake/dubo/main.cue
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/cake/oven
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/cake/oven/main.cue
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/dagger
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/dagger/main.cue
10:02AM ???
10:02AM ??? #8 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #8 sha256:4ffb0f62b6a429e9091249c4575077180950b9c21429edf0d59c685a6d6cae93
10:02AM ??? #8 DONE 0.0s
10:02AM ???
10:02AM ??? #9 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #9 sha256:bbff60981158361cb9a346d3a794a9fda3e3ebde50ff9220e0561b67f9fd0632
10:02AM ??? #9 DONE 0.0s
10:02AM ???
10:02AM ??? #10 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #10 sha256:d770d32ff49aec0d3ee31be5e15c67613932fe0e7f3e776674d09199639e303b
10:02AM ??? #10 DONE 0.0s
10:02AM ???
10:02AM ??? #11 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #11 sha256:46ba7c92b35f20e9a34b9fb446b880d75d9828c60b7e837471149e9ffb98a76b
10:02AM ??? #11 DONE 0.0s
10:02AM ???
10:02AM ??? #12 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #12 sha256:cd896b1611b16a870e51b7fbc39c8a41a6b87d8e4fc4a58c8944772a27d21fac
10:02AM ??? #12 DONE 0.0s
10:02AM ???
10:02AM ??? #13 local:///Users/dmp/Projects/Distribution/docker-images/docker-debian/hack
10:02AM ??? #13 sha256:d8cd51ab06f0a3ba945b12f8820aaa3ee58374d8e590799b57335062c51e24bf
10:02AM ??? #13 DONE 0.0s
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/debian
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/debian/main.cue
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/tools
10:02AM DBG Compiler.Build: processing path=/cue.mod/pkg/duponey.cloud/tools/main.cue
10:02AM DBG Compiler.Build: processing path=/dagger.cue
10:02AM DBG loading input overlay
10:02AM DBG ENV base="{\"foo\":{}}" input={}
10:02AM DBG computing env
10:02AM DBG walking value="{\"foo\":{}}"
10:02AM DBG Env.Walk: processing path=
10:02AM DBG Env.Walk: processing path=deb1
10:02AM DBG Env.Walk: processing path=deb2
10:02AM DBG Env.Walk: processing path=foo
10:02AM DBG [Env.Compute] processing path=foo
panic: assertion failed: invalid state for disjunct
goroutine 131 [running]:
cuelang.org/go/internal/core/adt.Assertf(...)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/context.go:54
cuelang.org/go/internal/core/adt.clone(0xc0006f3290, 0x9, 0xc0002ee380, 0x1, 0x0, 0x0, 0x1e74b40, 0x24cbd20, 0x0, 0xc0001df110, ...)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/disjunct.go:354 +0x645
cuelang.org/go/internal/core/adt.(*nodeContext).expandDisjuncts(0xc0002ee380, 0xc0006f3305, 0xc0002ee380, 0x0, 0x0)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/disjunct.go:134 +0x161e
cuelang.org/go/internal/core/adt.(*Unifier).Unify(0xc0006bbe28, 0xc0006bbe10, 0xc0006f33b0, 0x1c5fc05)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/eval.go:305 +0x4c5
cuelang.org/go/internal/core/adt.(*nodeContext).completeArcs(0xc000731880, 0x5)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/eval.go:567 +0x136
cuelang.org/go/internal/core/adt.(*nodeContext).postDisjunct(0xc000731880, 0x5)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/eval.go:538 +0x4fb
cuelang.org/go/internal/core/adt.(*nodeContext).expandDisjuncts(0xc000731880, 0xc0006f3205, 0xc000731880, 0x0, 0x0)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/disjunct.go:142 +0x10e8
cuelang.org/go/internal/core/adt.(*Unifier).Unify(0xc0006bbe28, 0xc0006bbe10, 0xc0006f3290, 0xc0006bbe05)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/eval.go:305 +0x4c5
cuelang.org/go/internal/core/adt.(*Vertex).Finalize(...)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/internal/core/adt/composite.go:405
cuelang.org/go/cue.Value.Unify(0xc00007e4f0, 0xc00056a2d0, 0xc00007e4f0, 0xc0004661b0, 0x1e9cbc0, 0xc0004661b0)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/cue/types.go:1778 +0xd7
cuelang.org/go/cue.Value.Fill(0xc00007e4f0, 0xc00056a2d0, 0x1d32e60, 0xc000820940, 0x0, 0x0, 0x0, 0xc0005cb750, 0x1af0b05)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/cue/types.go:1648 +0x205
dagger.cloud/go/dagger.(*Value).Fill(0xc00036b2a0, 0x1d1cfe0, 0xc00036b260, 0x0, 0x0)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/value.go:45 +0xe5
dagger.cloud/go/dagger.Spec.Validate(0xc00059b0a0, 0xc00036b260, 0x1d3bdff, 0x7, 0x0, 0x0)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/spec.go:18 +0x69
dagger.cloud/go/dagger.(*Value).Validate(0xc00036b260, 0xc000027848, 0x1, 0x1, 0xc00036b0a0, 0xc00036b240)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/value.go:222 +0xd7
dagger.cloud/go/dagger.(*Script).Validate(...)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/script.go:20
dagger.cloud/go/dagger.(*Value).Script(0xc00036b260, 0x1d434f9, 0xf, 0xc00036b260)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/value.go:262 +0x92
dagger.cloud/go/dagger.(*Component).ComputeScript(0xc0005990c8, 0x0, 0x0, 0x0)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/component.go:45 +0x76
dagger.cloud/go/dagger.(*Component).Execute(0xc0005990c8, 0x1e93e00, 0xc00025ff50, 0x0, 0x0, 0xc000354e60, 0x1b9f7c0, 0xc000820860, 0xc00071c000, 0x0, ...)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/component.go:71 +0x65
dagger.cloud/go/dagger.(*Component).Compute(0xc0005990c8, 0x1e93e00, 0xc00025ff50, 0x1e97180, 0xc00004a200, 0x1e74e40, 0xc000438700, 0x0, 0x0, 0x0, ...)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/component.go:56 +0x1e5
dagger.cloud/go/dagger.(*Env).Compute.func1(0x1e93e00, 0xc00025ff50, 0xc0005990c8, 0x1e74e40, 0xc000438700, 0x0, 0x0)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/env.go:90 +0x116
dagger.cloud/go/dagger.(*Env).Walk.func2.1(0xc000438700, 0x0, 0x0)
/Users/dmp/Projects/Go/src/github.com/blocklayerhq/dagger/dagger/env.go:198 +0x56
cuelang.org/go/tools/flow.RunnerFunc.Run(0xc0001de000, 0xc000438700, 0x0, 0x0, 0x0, 0x0)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/tools/flow/flow.go:124 +0x30
cuelang.org/go/tools/flow.(*Controller).runLoop.func1(0xc000438700)
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/tools/flow/run.go:71 +0x45
created by cuelang.org/go/tools/flow.(*Controller).runLoop
/Users/dmp/Applications/bin/gvm/pkgsets/go1.15/global/pkg/mod/cuelang.org/[email protected]/tools/flow/run.go:70 +0x299