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>
This commit is contained in:
56
pkg/alpha.dagger.io/bats/bats.cue
Normal file
56
pkg/alpha.dagger.io/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: 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
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user