stdlib: implemented bats package for running bats script from dagger
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
This commit is contained in:
parent
c310a1bcdb
commit
e809e2ba6d
56
stdlib/bats/bats.cue
Normal file
56
stdlib/bats/bats.cue
Normal file
@ -0,0 +1,56 @@
|
||||
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
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"alpha.dagger.io/bats"
|
||||
"alpha.dagger.io/bats"
|
||||
)
|
||||
|
||||
TestBats: bats.#Bats
|
||||
|
Reference in New Issue
Block a user