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/pkg/universe.dagger.io/go/test/build.cue
Tom Chauveau e49bb34e87
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>
2022-02-17 14:57:06 +01:00

46 lines
815 B
CUE

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!"
}
}
}
}