docker build support
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This commit is contained in:
90
tests/dockerbuild/main.cue
Normal file
90
tests/dockerbuild/main.cue
Normal file
@@ -0,0 +1,90 @@
|
||||
package test
|
||||
|
||||
import "dagger.io/dagger"
|
||||
|
||||
// Set to `--input-dir=./tests/dockerbuild/testdata`
|
||||
TestData: dagger.#Dir
|
||||
|
||||
TestInlinedDockerfile: #dagger: compute: [
|
||||
dagger.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
RUN echo hello world
|
||||
"""
|
||||
},
|
||||
]
|
||||
|
||||
TestOpChaining: #dagger: compute: [
|
||||
dagger.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
RUN echo foobar > /output
|
||||
"""
|
||||
},
|
||||
dagger.#Exec & {
|
||||
args: ["sh", "-c", "test $(cat /output) = foobar"]
|
||||
}
|
||||
]
|
||||
|
||||
TestBuildContext: #dagger: compute: [
|
||||
dagger.#DockerBuild & {
|
||||
context: TestData
|
||||
},
|
||||
dagger.#Exec & {
|
||||
args: ["sh", "-c", "test $(cat /dir/foo) = foobar"]
|
||||
}
|
||||
]
|
||||
|
||||
TestBuildContextAndDockerfile: #dagger: compute: [
|
||||
dagger.#DockerBuild & {
|
||||
context: TestData
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
COPY foo /override
|
||||
"""
|
||||
},
|
||||
dagger.#Exec & {
|
||||
args: ["sh", "-c", "test $(cat /override) = foobar"]
|
||||
}
|
||||
]
|
||||
|
||||
TestDockerfilePath: #dagger: compute: [
|
||||
dagger.#DockerBuild & {
|
||||
context: TestData
|
||||
dockerfilePath: "./dockerfilepath/Dockerfile.custom"
|
||||
},
|
||||
dagger.#Exec & {
|
||||
args: ["sh", "-c", "test $(cat /test) = dockerfilePath"]
|
||||
}
|
||||
]
|
||||
|
||||
TestBuildArgs: #dagger: compute: [
|
||||
dagger.#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: #dagger: compute: [
|
||||
dagger.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
"""
|
||||
label: FOO: "bar"
|
||||
}
|
||||
]
|
||||
|
||||
// FIXME: this doesn't test anything beside not crashing
|
||||
TestBuildPlatform: #dagger: compute: [
|
||||
dagger.#DockerBuild & {
|
||||
dockerfile: """
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
"""
|
||||
platforms: ["linux/amd64"]
|
||||
}
|
||||
]
|
3
tests/dockerbuild/testdata/Dockerfile
vendored
Normal file
3
tests/dockerbuild/testdata/Dockerfile
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
COPY . /dir
|
||||
RUN test $(cat /dir/foo) = foobar
|
2
tests/dockerbuild/testdata/dockerfilepath/Dockerfile.custom
vendored
Normal file
2
tests/dockerbuild/testdata/dockerfilepath/Dockerfile.custom
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
FROM alpine:latest@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
|
||||
RUN echo dockerfilePath > /test
|
1
tests/dockerbuild/testdata/foo
vendored
Normal file
1
tests/dockerbuild/testdata/foo
vendored
Normal file
@@ -0,0 +1 @@
|
||||
foobar
|
@@ -229,6 +229,11 @@ test::subdir() {
|
||||
"$dagger" "${DAGGER_BINARY_ARGS[@]}" compute "$d"/subdir/simple
|
||||
}
|
||||
|
||||
test::dockerbuild() {
|
||||
test::one "Docker Build" --exit=0 \
|
||||
"$dagger" "${DAGGER_BINARY_ARGS[@]}" compute --input-dir TestData="$d"/dockerbuild/testdata "$d"/dockerbuild
|
||||
}
|
||||
|
||||
test::all(){
|
||||
local dagger="$1"
|
||||
|
||||
@@ -244,6 +249,7 @@ test::all(){
|
||||
test::export "$dagger"
|
||||
test::input "$dagger"
|
||||
test::subdir "$dagger"
|
||||
test::dockerbuild "$dagger"
|
||||
|
||||
test::examples "$dagger"
|
||||
}
|
||||
|
Reference in New Issue
Block a user