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/alpha.dagger.io/bats/bats.cue
Andrea Luzzardi 282759c0e5 cue modules: move stdlib to pkg/alpha.dagger.io
In preparation for Europa, we will vendor multiple CUE modules:

- `pkg/alpha.dagger.io`: legacy non-europa packages
- `pkg/dagger.io`: core Europa packages
- `pkg/universe.dagger.io`: Europa universe

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 13:16:37 -08:00

57 lines
1.2 KiB
CUE

package bats
import (
"strings"
"alpha.dagger.io/dagger"
"alpha.dagger.io/os"
"alpha.dagger.io/alpine"
)
#Bats: {
// Source containing bats files
source: dagger.#Artifact & dagger.#Input
// bats options
options: [...string]
// mount points passed to the bats container
mount: [string]: from: dagger.#Artifact
// environment variables
env: [string]: string
// socket mounts for the bats container
socket: [string]: dagger.#Stream
// setup commands to run only once (for installing dependencies)
setupCommands: [...string]
// init script to run right before bats
initScript: string | *""
defaultOptions: ["--print-output-on-failure", "--show-output-of-passing-tests"]
ctr: os.#Container & {
image: alpine.#Image & {
package: curl: true
package: bash: true
package: jq: true
package: npm: true
package: git: true
}
shell: path: "/bin/bash"
setup: ["npm install -g bats"] + setupCommands
command: #"""
\#(initScript)
bats \#(strings.Join(defaultOptions, " ")) \#(strings.Join(options, " ")) ../src
"""#
dir: "/app"
"mount": mount
"mount": "/src": from: source
"env": env
"socket": socket
}
}