7 sh: git describe --long 2>/dev/null || echo ""
11 GOEXPERIMENT: greenteagc
15 desc: Install golangci-lint
17 - go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest
22 desc: Run base linters
24 - golangci-lint run --path-mode=abs --config=".golangci.yml" --timeout=5m
29 desc: Run base linters and fix issues
31 - golangci-lint run --path-mode=abs --config=".golangci.yml" --timeout=5m --fix
38 LDFLAGS: '{{if .VERSION}}-ldflags="-X github.com/charmbracelet/crush/internal/version.Version={{.VERSION}}"{{end}}'
40 - go build {{.LDFLAGS}} .
47 - go run . {{.CLI_ARGS}}
52 - go test ./... {{.CLI_ARGS}}
60 desc: Run with profiling enabled
67 desc: Install the application
69 LDFLAGS: '{{if .VERSION}}-ldflags="-X github.com/charmbracelet/crush/internal/version.Version={{.VERSION}}"{{end}}'
71 - go install {{.LDFLAGS}} -v .
76 - go tool pprof -http :6061 'http://localhost:6060/debug/pprof/profile?seconds=10'
81 - go tool pprof -http :6061 'http://localhost:6060/debug/pprof/heap'
84 desc: Allocations profile
86 - go tool pprof -http :6061 'http://localhost:6060/debug/pprof/allocs'
89 desc: Generate JSON schema for configuration
91 - go run main.go schema > schema.json
92 - echo "Generated schema.json"
97 desc: Create and push a new tag following semver
100 sh: svu next --always || go run github.com/caarlos0/svu/v3@latest next --always
101 prompt: "This will release {{.NEXT}}. Continue?"
103 - sh: '[ $(git symbolic-ref --short HEAD) = "main" ]'
104 msg: Not on main branch
105 - sh: "[ $(git status --porcelain=2 | wc -l) = 0 ]"
109 - git commit --allow-empty -m "{{.NEXT}}"
110 - git tag --annotate --sign -m "{{.NEXT}}" {{.NEXT}} {{.CLI_ARGS}}
111 - echo "Pushing {{.NEXT}}..."
112 - git push origin main --follow-tags
116 - git tag -d nightly || true
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list