package main
import (
"dagger.io/dagger"
"dagger.io/go"
)
repository: dagger.#Dir // Use `--input-dir repository=.` from the root directory of the project
// Build `dagger` using Go
build: go.#Build & {
source: repository
packages: "./cmd/dagger"
output: "/usr/local/bin/dagger"
}
test: go.#Test & {
packages: "./..."
// Run a command with the binary we just built
help: #compute: [
dagger.#Load & {from: build},
dagger.#Exec & {args: ["dagger", "-h"]},
]
// Build dagger using the (included) Dockerfile
buildWithDocker: #compute: [
dagger.#DockerBuild & {
context: repository
},
// Run a command in the docker image we just built
helpFromDocker: #compute: [
dagger.#Load & {from: buildWithDocker},