e49bb34e87
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>
46 lines
669 B
CUE
46 lines
669 B
CUE
package go
|
|
|
|
import (
|
|
"dagger.io/dagger"
|
|
"dagger.io/dagger/engine"
|
|
"universe.dagger.io/go"
|
|
"universe.dagger.io/docker"
|
|
)
|
|
|
|
dagger.#Plan & {
|
|
actions: tests: image: {
|
|
_source: engine.#Scratch & {}
|
|
|
|
simple: {
|
|
_image: go.#Image & {}
|
|
|
|
verify: docker.#Run & {
|
|
input: _image.output
|
|
command: {
|
|
name: "/bin/sh"
|
|
args: ["-c", """
|
|
go version | grep "1.16"
|
|
"""]
|
|
}
|
|
}
|
|
}
|
|
|
|
custom: {
|
|
_image: go.#Image & {
|
|
version: "1.17"
|
|
packages: bash: _
|
|
}
|
|
|
|
verify: docker.#Run & {
|
|
input: _image.output
|
|
command: {
|
|
name: "/bin/bash"
|
|
args: ["-c", """
|
|
go version | grep "1.17"
|
|
"""]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|