package yarn
import (
"dagger.io/dagger"
"dagger.io/dagger/core"
"universe.dagger.io/docker"
"universe.dagger.io/yarn"
)
dagger.#Plan & {
client: filesystem: {
"./data/foo": read: contents: dagger.#FS
"./data/bar": read: contents: dagger.#FS
}
actions: test: {
// Configuration for all tests
common: {
data: client.filesystem."./data/foo".read.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: {
name: "My Build"
// 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
container: #input: buildImage.output
// Make an assertion on the contents of a file
#AssertFile: {
input: dagger.#FS
path: string
contents: string
_read: core.#ReadFile & {
"input": input
"path": path
actual: _read.contents
// Assertion
contents: actual