This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/pkg/universe.dagger.io/yarn/test/test.cue
Gerhard Lazu 26d24e6ac0
First attempt at restoring the container.input interface
The goal is to preserve the container.input interface so that custom
images can be specified, as per yarn/test/test.cue while keeping the
initial fix for https://github.com/dagger/dagger/issues/1670

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-03-04 18:41:21 +00:00

91 lines
1.4 KiB
CUE

package yarn
import (
"dagger.io/dagger"
"universe.dagger.io/docker"
"universe.dagger.io/yarn"
)
dagger.#Plan & {
inputs: directories: {
testdata: path: "./data/foo"
testdata2: path: "./data/bar"
}
actions: tests: {
// Configuration for all tests
common: {
data: inputs.directories.testdata.contents
}
// Run yarn.#Build
simple: {
build: yarn.#Build & {
source: common.data
}
verify: #AssertFile & {
input: build.output
path: "test"
contents: "output\n"
}
}
// Run yarn.#Build with a custom name
customName: {
build: yarn.#Build & {
name: "My Build"
source: common.data
}
verify: #AssertFile & {
input: build.output
path: "test"
contents: "output\n"
}
}
// Run yarn.#Build with a custom docker image
customImage: {
buildImage: docker.#Build & {
steps: [
docker.#Pull & {
source: "alpine"
},
docker.#Run & {
command: {
name: "apk"
args: ["add", "yarn", "bash"]
}
},
]
}
image: build.output
build: yarn.#Build & {
source: common.data
container: #input: buildImage.output
}
}
}
}
// Make an assertion on the contents of a file
#AssertFile: {
input: dagger.#FS
path: string
contents: string
_read: dagger.#ReadFile & {
"input": input
"path": path
}
actual: _read.contents
// Assertion
contents: actual
}