Taskfile.yml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. - go build -race -o ./bin_dev/demo ./cmd/demo/main.go
  18. mod:
  19. desc: "Обновление зависимостей"
  20. cmds:
  21. - clear
  22. - go fmt ./...
  23. - go mod tidy -compat=1.24.2
  24. - go mod vendor
  25. - go fmt ./...
  26. test:
  27. desc: "Запуск тестов"
  28. cmds:
  29. - clear
  30. - go fmt ./...
  31. - go test -race -shuffle=on -timeout=30s -coverprofile=./cover.out ./...
  32. - go tool cover -func=./cover.out
  33. lint:
  34. desc: "Запуск всех линтеров"
  35. cmds:
  36. - clear
  37. - go fmt ./...
  38. - go vet ./...
  39. # - go install honnef.co/go/tools/cmd/staticcheck@latest
  40. # - staticcheck ./...
  41. # - go install github.com/MakeNowJust/enumcase/cmd/enumcase@latest
  42. # - enumcase ./...
  43. - go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
  44. - golangci-lint run ./...
  45. # - go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
  46. # - gocyclo -over 11 .
  47. # - go install github.com/securego/gosec/cmd/gosec@latest
  48. # - gosec ./...
  49. fmt:
  50. desc: "Форматирование кода"
  51. cmds:
  52. - clear
  53. - go fmt ./...