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/stdlib/bats/bats.cue
Sam Alba e809e2ba6d stdlib: implemented bats package for running bats script from dagger
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-12-13 21:07: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: "~=5.1"
package: jq: "~=1.6"
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
}
}