// quarry-runner runs a repository's CI on a machine its owners control.
// It is one static program with no dependencies: download it from the
// forge (Settings → Worker tokens names the link), set a worker token,
// point it at the repository. See `quarry-runner -h`.
package main
import (
"fmt"
"os"
"craftdesign.group/quarry/internal/runner"
)
var version = "dev" // set at build: -ldflags "-X main.version=..."
func main() {
if len(os.Args) > 1 && os.Args[1] == "job-env" {
if err := runner.JobEnvMain(os.Args[2:]); err != nil {
fmt.Fprintln(os.Stderr, "quarry-runner job-env:", err)
os.Exit(1)
}
return
}
if len(os.Args) > 1 && os.Args[1] == "job-reclaim" {
if err := runner.JobReclaimMain(os.Args[2:]); err != nil {
fmt.Fprintln(os.Stderr, "quarry-runner job-reclaim:", err)
os.Exit(1)
}
return
}
if err := runner.Main(os.Args[1:], "quarry-runner", version); err != nil {
fmt.Fprintln(os.Stderr, "quarry-runner:", err)
os.Exit(1)
}
}