Monorepo for Tangled
tangled.org
1package main
2
3import (
4 "context"
5 "log/slog"
6 "os"
7
8 "github.com/urfave/cli/v3"
9 tlog "tangled.org/core/log"
10 "tangled.org/core/spindle"
11)
12
13func main() {
14 cmd := &cli.Command{
15 Name: "spindle",
16 Usage: "spindle continuous integration runner",
17 Commands: []*cli.Command{
18 Command(),
19 },
20 DefaultCommand: "run",
21 }
22
23 logger := tlog.New("spindle")
24 slog.SetDefault(logger)
25
26 ctx := context.Background()
27 ctx = tlog.IntoContext(ctx, logger)
28
29 if err := cmd.Run(ctx, os.Args); err != nil {
30 logger.Error(err.Error())
31 os.Exit(-1)
32 }
33}
34
35func Command() *cli.Command {
36 return &cli.Command{
37 Name: "run",
38 Usage: "run the spindle server",
39 Action: func(ctx context.Context, cmd *cli.Command) error {
40 return spindle.Run(ctx)
41 },
42 }
43}