75 lines
1.3 KiB
Go
75 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/goyek/goyek"
|
|
)
|
|
|
|
const zerologLintVer = "1.24.0"
|
|
|
|
func main() {
|
|
flow().Main()
|
|
}
|
|
|
|
func flow() *goyek.Flow {
|
|
flow := &goyek.Flow{}
|
|
|
|
fmt := flow.Register(taskFmt)
|
|
test := flow.Register(taskTest)
|
|
vet := flow.Register(taskVet)
|
|
lint := flow.Register(taskLint)
|
|
|
|
flow.DefaultTask = flow.Register(goyek.Task{
|
|
Name: "all",
|
|
Usage: "Run all flows",
|
|
Deps: []goyek.RegisteredTask{
|
|
fmt,
|
|
lint,
|
|
test,
|
|
vet,
|
|
},
|
|
})
|
|
|
|
return flow
|
|
}
|
|
|
|
var taskFmt = goyek.Task{
|
|
Name: "fmt",
|
|
Usage: "go fmt",
|
|
Action: func(tf *goyek.TF) {
|
|
if err := tf.Cmd("go", "fmt", "./...").Run(); err != nil {
|
|
tf.Fatal(err)
|
|
}
|
|
},
|
|
}
|
|
|
|
var taskTest = goyek.Task{
|
|
Name: "test",
|
|
Usage: "go test",
|
|
Action: func(tf *goyek.TF) {
|
|
if err := tf.Cmd("go", "test", "-race", "./...").Run(); err != nil {
|
|
tf.Fatal(err)
|
|
}
|
|
},
|
|
}
|
|
|
|
var taskVet = goyek.Task{
|
|
Name: "vet",
|
|
Usage: "go vet",
|
|
Action: func(tf *goyek.TF) {
|
|
if err := tf.Cmd("go", "vet", "-race", "./...").Run(); err != nil {
|
|
tf.Fatal(err)
|
|
}
|
|
},
|
|
}
|
|
|
|
var taskLint = goyek.Task{
|
|
Name: "lint",
|
|
Usage: "Run linter(s)",
|
|
Action: func(tf *goyek.TF) {
|
|
if err := tf.Cmd("go", "run", fmt.Sprintf("github.com/rs/zerolog/cmd/lint@v%s", zerologLintVer), ".").Run(); err != nil {
|
|
tf.Fatal(err)
|
|
}
|
|
},
|
|
}
|