Taskfile.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 fmt ./...
  24. - go mod tidy -compat=1.24.2
  25. - go mod vendor
  26. - go fmt ./...
  27. test:
  28. desc: "Запуск тестов"
  29. cmds:
  30. - clear
  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 fmt ./...
  40. - go vet ./...
  41. # - go install honnef.co/go/tools/cmd/staticcheck@latest
  42. # - staticcheck ./...
  43. # - go install github.com/MakeNowJust/enumcase/cmd/enumcase@latest
  44. # - enumcase ./...
  45. # - go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
  46. - go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2
  47. - golangci-lint run ./...
  48. # - go install github.com/fzipp/gocyclo/cmd/gocyclo@latest
  49. # - gocyclo -over 11 .
  50. # - go install github.com/securego/gosec/cmd/gosec@latest
  51. # - gosec ./...
  52. - pipx install semgrep
  53. - semgrep scan --config .semgrep.yml
  54. fmt:
  55. desc: "Форматирование кода"
  56. cmds:
  57. - clear
  58. - go fmt ./...