# README
go-musthave-metrics-tpl
Шаблон репозитория для трека «Сервер сбора метрик и алертинга».
Начало работы
- Склонируйте репозиторий в любую подходящую директорию на вашем компьютере.
- В корне репозитория выполните команду
go mod init <name>
(где<name>
— адрес вашего репозитория на GitHub без префиксаhttps://
) для создания модуля.
Обновление шаблона
Чтобы иметь возможность получать обновления автотестов и других частей шаблона, выполните команду:
git remote add -m main template https://github.com/Yandex-Practicum/go-musthave-metrics-tpl.git
Для обновления кода автотестов выполните команду:
git fetch template && git checkout template/main .github
Затем добавьте полученные изменения в свой репозиторий.
Запуск автотестов
Для успешного запуска автотестов называйте ветки iter<number>
, где <number>
— порядковый номер инкремента. Например, в ветке с названием iter4
запустятся автотесты для инкрементов с первого по четвёртый.
При мёрже ветки с инкрементом в основную ветку main
будут запускаться все автотесты.
Подробнее про локальный и автоматический запуск читайте в README автотестов.
Запуск тестов
Для запуска тестов должен быть запущен postgresql (порт=5432, логин/пароль=postgres)
В проекте присутствует docker-compose.yaml конфиг, с помощью которого можно поднять контейнер с postgresql.
Команда запуска тестов (из корневого каталога проекта):
go test -cover ./...
Линтер
Пакет staticlint предоставляет инструмент командной строки, который выполняет статический анализа кода на Go.
Инструмент включает в себя проверки на распространенные ошибки программирования, проблемы с производительностью и соответствие лучшим практикам.
Использование
Чтобы воспользоваться инструментом staticlint, выполните в терминале следующую команду:
go run /path/to/multichecker.go /path/to/your/package
Это приведет к выполнению всех настроенных проверок статического анализа Go-кода в текущем каталоге.
Чтобы получить дополнительную информацию об используемых анализаторах кода, выполните в терминале следующую команду:
go run /path/to/multichecker.go --help
Коды выхода
Инструмент staticlint возвращает ненулевой код выхода, если какая-либо из проверок завершилась неудачно, что позволяет интегрировать его с конвейерами CI/CD и другими автоматизированными системами.
Пример
Чтобы запустить staticlint на конкретном пакете, можно указать путь к пакету:
go run path/to/multichecker.go /path/to/package
Указанный пакет будет проанализирован и вы получите сообщения о найденных проблемах.
Вы можете указать анализаторы, которые хотите запустить, например:
go run path/to/multichecker.go -ST1006 /path/to/package