646a4d153d
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
81 lines
1.5 KiB
CUE
81 lines
1.5 KiB
CUE
package main
|
|
|
|
import (
|
|
"universe.dagger.io/docker"
|
|
)
|
|
|
|
let GoVersion = "1.17"
|
|
let GolangCILintVersion = "1.44.0"
|
|
let CUEVersion = "0.4.2"
|
|
|
|
// Base container images used for the CI
|
|
#Images: {
|
|
|
|
// base image to build go binaries
|
|
goBuilder: _goBuilder.output
|
|
_goBuilder: docker.#Build & {
|
|
_packages: ["bash", "git", "alpine-sdk"]
|
|
|
|
steps: [
|
|
docker.#Pull & {
|
|
source: "index.docker.io/golang:\(GoVersion)-alpine"
|
|
},
|
|
for pkg in _packages {
|
|
docker.#Run & {
|
|
command: {
|
|
name: "apk"
|
|
args: ["add", pkg]
|
|
flags: {
|
|
"-U": true
|
|
"--no-cache": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
]
|
|
}
|
|
|
|
// base image for the Go linter
|
|
// https://golangci-lint.run/usage/install/#docker
|
|
goLinter: _goLinter.output
|
|
_goLinter: docker.#Pull & {
|
|
source: "index.docker.io/golangci/golangci-lint:v\(GolangCILintVersion)"
|
|
}
|
|
|
|
// base image for CUE cli + alpine distrib
|
|
cue: _cue._alpine.output
|
|
_cue: {
|
|
_cueBinary: docker.#Pull & {
|
|
source: "index.docker.io/cuelang/cue:\(CUEVersion)"
|
|
}
|
|
|
|
_alpine: docker.#Build & {
|
|
_packages: ["bash", "git"]
|
|
|
|
steps: [
|
|
docker.#Pull & {
|
|
source: "index.docker.io/alpine:3"
|
|
},
|
|
for pkg in _packages {
|
|
docker.#Run & {
|
|
command: {
|
|
name: "apk"
|
|
args: ["add", pkg]
|
|
flags: {
|
|
"-U": true
|
|
"--no-cache": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
docker.#Copy & {
|
|
// input: _alpine.output
|
|
contents: _cueBinary.output.rootfs
|
|
source: "/usr/bin/cue"
|
|
dest: "/usr/bin/cue"
|
|
},
|
|
]
|
|
}
|
|
}
|
|
}
|