Taskfile.yml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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 fix ./...
  31. - go fmt ./...
  32. - semgrep scan --config .semgrep.yml
  33. - go test -race -shuffle=on -timeout=30s -coverprofile=./cover.out ./...
  34. - go tool cover -func=./cover.out
  35. lint:
  36. desc: "Запуск всех линтеров"
  37. cmds:
  38. - clear
  39. - go fix ./...
  40. - go fmt ./...
  41. - go vet ./...
  42. # - go install honnef.co/go/tools/cmd/staticcheck@latest
  43. # - staticcheck ./...
  44. # - go install github.com/MakeNowJust/enumcase/cmd/enumcase@latest
  45. # - enumcase ./...
  46. # - go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
  47. - go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2
  48. - golangci-lint run ./...
  49. # - go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
  50. # - gocyclo -over 11 .
  51. # - go install github.com/securego/gosec/cmd/gosec@latest
  52. # - gosec ./...
  53. - pipx install semgrep
  54. - semgrep scan --config .semgrep.yml
  55. fmt:
  56. desc: "Форматирование кода"
  57. cmds:
  58. - clear
  59. - go fmt ./...
  60. lazy:
  61. desc: "Запуск lazygit (с обновлением)"
  62. cmds:
  63. - go install github.com/jesseduffield/lazygit@latest
  64. - lazygit