Taskfile.yml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. # https://taskfile.dev
  2. version: '3'
  3. vars:
  4. HELP: Для просмотра всех задач запустите 'task -a'
  5. dotenv: [.env]
  6. tasks:
  7. default:
  8. desc: "Вывод справки"
  9. cmds:
  10. - echo "{{.HELP}}"
  11. silent: true
  12. demo:
  13. desc: "Запуск демо-проекта"
  14. cmds:
  15. - clear
  16. - go fmt ./...
  17. - semgrep scan --config .semgrep.yml
  18. - go build -race -o ./bin_dev/demo ./cmd/demo/main.go
  19. mod:
  20. desc: "Обновление зависимостей"
  21. cmds:
  22. - clear
  23. - go mod tidy -compat=1.26.4
  24. - go mod vendor
  25. - go fmt ./...
  26. test:
  27. desc: "Запуск тестов"
  28. cmds:
  29. - clear
  30. - go fmt ./...
  31. - semgrep scan --config .semgrep.yml
  32. - go test -race -shuffle=on -timeout=30s -coverprofile=./cover.out ./...
  33. - go tool cover -func=./cover.out
  34. lint:
  35. desc: "Запуск всех линтеров"
  36. cmds:
  37. - clear
  38. - go fmt ./...
  39. - go vet ./...
  40. # - go install honnef.co/go/tools/cmd/staticcheck@latest
  41. # - staticcheck ./...
  42. # - go install github.com/MakeNowJust/enumcase/cmd/enumcase@latest
  43. # - enumcase ./...
  44. # - go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
  45. - go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2
  46. - golangci-lint run ./...
  47. # - go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
  48. # - gocyclo -over 11 .
  49. # - go install github.com/securego/gosec/cmd/gosec@latest
  50. # - gosec ./...
  51. - pipx install semgrep
  52. - semgrep scan --config .semgrep.yml
  53. fmt:
  54. desc: "Форматирование кода"
  55. cmds:
  56. - clear
  57. - go fmt ./...
  58. lazy:
  59. desc: "Запуск lazygit (с обновлением)"
  60. cmds:
  61. - go install github.com/jesseduffield/lazygit@latest
  62. - lazygit