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:
Sam Alba 2021-12-13 16:12:46 -08:00
parent c310a1bcdb
commit e809e2ba6d
2 changed files with 57 additions and 1 deletions

56
stdlib/bats/bats.cue Normal file
View 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
}
}

View File

@ -1,7 +1,7 @@
package main package main
import ( import (
"alpha.dagger.io/bats" "alpha.dagger.io/bats"
) )
TestBats: bats.#Bats TestBats: bats.#Bats