Port go package to universe to resolves #1553
Definition are now split in their own file. `#Image` is a simple base image to set up a go container `#Container` is a standalone environment to execute go command, any go command should use this definition. It shares `docker.#Run` fields to easily maintains this definition. `#Build` and `#Test` are high level definition that use `#Container` to execute common go operation in a CI. Those definitions are tested with a simple greeting package. Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
This commit is contained in:
committed by
Vasek - Tom C
parent
5e025dfa2b
commit
e49bb34e87
45
pkg/universe.dagger.io/go/test/build.cue
Normal file
45
pkg/universe.dagger.io/go/test/build.cue
Normal file
@@ -0,0 +1,45 @@
|
||||
package go
|
||||
|
||||
import (
|
||||
"dagger.io/dagger"
|
||||
"dagger.io/dagger/engine"
|
||||
"universe.dagger.io/go"
|
||||
"universe.dagger.io/docker"
|
||||
"universe.dagger.io/alpine"
|
||||
)
|
||||
|
||||
dagger.#Plan & {
|
||||
inputs: directories: testhello: path: "./data/hello"
|
||||
|
||||
actions: tests: build: {
|
||||
_baseImage: alpine.#Build
|
||||
|
||||
simple: {
|
||||
build: go.#Build & {
|
||||
source: inputs.directories.testhello.contents
|
||||
output: "/bin/hello"
|
||||
}
|
||||
|
||||
exec: docker.#Run & {
|
||||
input: _baseImage.output
|
||||
command: {
|
||||
name: "/bin/sh"
|
||||
args: ["-c", "hello >> /output.txt"]
|
||||
}
|
||||
env: NAME: "dagger"
|
||||
mounts: binary: {
|
||||
dest: build.output
|
||||
contents: build.binary
|
||||
source: "/bin/hello"
|
||||
}
|
||||
}
|
||||
|
||||
verify: engine.#ReadFile & {
|
||||
input: exec.output.rootfs
|
||||
path: "/output.txt"
|
||||
} & {
|
||||
contents: "Hi dagger!"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user