package main import ( "runtime" "strconv" "github.com/magefile/mage/sh" ) var ( Default = Build ) // Generate generates mock implementations of interfaces. func Generate() (err error) { return sh.RunV("go", "tool", "cmg", "gen", "./...") } // Build builds the binaries. func Build() error { return sh.RunV("go", "build", "./cmd/presence") } // Lint runs the lint suite. func Lint() error { return sh.RunV("golangci-lint", "run", "./...") } // Test runs the test suite. func Test() error { return sh.RunV("go", "test", "-cover", "-race", "./...") } // Snapshot runs the release snapshot. func Snapshot() error { nc := runtime.NumCPU() return sh.RunV("goreleaser", "release", "--clean", "--parallelism", strconv.Itoa(nc), "--snapshot") }