diff --git a/tests/tasks.bats b/tests/tasks.bats index 49d8b792..31b02f38 100644 --- a/tests/tasks.bats +++ b/tests/tasks.bats @@ -80,6 +80,7 @@ setup() { "$DAGGER" --europa up ./dockerfile.cue "$DAGGER" --europa up ./inlined_dockerfile.cue + "$DAGGER" --europa up ./inlined_dockerfile_heredoc.cue "$DAGGER" --europa up ./dockerfile_path.cue "$DAGGER" --europa up ./build_args.cue "$DAGGER" --europa up ./image_config.cue diff --git a/tests/tasks/dockerfile/dockerfile.cue b/tests/tasks/dockerfile/dockerfile.cue index 576c4745..cdaa6cf9 100644 --- a/tests/tasks/dockerfile/dockerfile.cue +++ b/tests/tasks/dockerfile/dockerfile.cue @@ -10,7 +10,6 @@ engine.#Plan & { actions: { build: engine.#Dockerfile & { source: inputs.directories.testdata.contents - // path: "Dockerfile" } verify: engine.#Exec & { diff --git a/tests/tasks/dockerfile/inlined_dockerfile_heredoc.cue b/tests/tasks/dockerfile/inlined_dockerfile_heredoc.cue new file mode 100644 index 00000000..b3e5ba06 --- /dev/null +++ b/tests/tasks/dockerfile/inlined_dockerfile_heredoc.cue @@ -0,0 +1,95 @@ +package testing + +import ( + "dagger.io/dagger/engine" +) + +engine.#Plan & { + inputs: directories: testdata: path: "./testdata" + + actions: { + build: engine.#Dockerfile & { + source: inputs.directories.testdata.contents + dockerfile: contents: """ + # syntax = docker/dockerfile:1.3 + FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d + RUN echo foobar > /output + """ + } + + verify: engine.#Exec & { + input: build.output + args: ["sh", "-c", "test $(cat /output) = foobar"] + } + } +} + +// TestDockerfilePath: #up: [ +// op.#DockerBuild & { +// context: TestData +// dockerfilePath: "./dockerfilepath/Dockerfile.custom" +// }, +// op.#Exec & { +// args: ["sh", "-c", "test $(cat /test) = dockerfilePath"] +// }, +// ] + +// TestBuildArgs: #up: [ +// op.#DockerBuild & { +// dockerfile: """ +// FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d +// ARG TEST=foo +// RUN test "${TEST}" = "bar" +// """ +// buildArg: TEST: "bar" +// }, +// ] + +// // FIXME: this doesn't test anything beside not crashing +// TestBuildLabels: #up: [ +// op.#DockerBuild & { +// dockerfile: """ +// FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d +// """ +// label: FOO: "bar" +// }, +// ] + +// // FIXME: this doesn't test anything beside not crashing +// TestBuildPlatform: #up: [ +// op.#DockerBuild & { +// dockerfile: """ +// FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d +// """ +// platforms: ["linux/amd64"] +// }, +// ] + +// TestImageMetadata: #up: [ +// op.#DockerBuild & { +// dockerfile: """ +// FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d +// ENV CHECK foobar +// ENV DOUBLECHECK test +// """ +// }, +// op.#Exec & { +// args: ["sh", "-c", #""" +// env +// test "$CHECK" = "foobar" +// """#] +// }, +// ] + +// // Make sure the metadata is carried over with a `Load` +// TestImageMetadataIndirect: #up: [ +// op.#Load & { +// from: TestImageMetadata +// }, +// op.#Exec & { +// args: ["sh", "-c", #""" +// env +// test "$DOUBLECHECK" = "test" +// """#] +// }, +// ]