mise.toml

 1# SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
 2#
 3# SPDX-License-Identifier: CC0-1.0
 4
 5[env]
 6CGO_ENABLED = "0"
 7
 8[tools]
 9go = "latest"
10"go:golang.org/x/vuln/cmd/govulncheck" = "latest"
11"go:mvdan.cc/gofumpt" = "latest"
12golangci-lint = "latest"
13
14[tasks.build]
15run = "go build -ldflags \"-X git.secluded.site/sb-mcp/internal/server.Version=$(git describe --tags --always --dirty 2>/dev/null || echo dev)\" ./cmd/sb-mcp/"
16
17[tasks.install]
18run = "go install -ldflags \"-X git.secluded.site/sb-mcp/internal/server.Version=$(git describe --tags --always --dirty 2>/dev/null || echo dev)\" ./cmd/sb-mcp/"
19
20[tasks.test]
21run = "go test -v ./..."
22
23[tasks.fmt]
24run = "gofumpt -w ."
25
26[tasks."fmt:check"]
27run = """
28output=$(gofumpt -d .)
29if [ -n "$output" ]; then
30  echo "$output"
31  echo "Files unformatted; execute 'mise run fmt'"
32  exit 1
33fi
34"""
35
36[tasks.fix]
37run = "jj --config 'fix.tools.gofumpt.command=[\"gofumpt\"]' --config 'fix.tools.gofumpt.patterns=[\"glob:**/*.go\"]' fix"
38
39[tasks.lint]
40run = "golangci-lint run"
41
42[tasks.vuln]
43run = "govulncheck ./..."
44
45[tasks.vet]
46run = "go vet ./..."
47
48[tasks."test:quiet"]
49run = """
50output=$(go test ./... 2>&1)
51if [ $? -eq 0 ]; then
52  echo ""
53else
54  echo "$output"
55  exit 1
56fi
57"""
58
59[tasks.check]
60depends = ["fmt", "vet", "lint", "vuln", "build", "test:quiet"]