Настроил тулинг
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# yaml-language-server: $schema=https://taskfile.dev/schema.json
|
||||
#
|
||||
# Запуск команд проекта через Task (https://taskfile.dev).
|
||||
# Список задач: `task --list`.
|
||||
|
||||
version: '3'
|
||||
|
||||
vars:
|
||||
BINARY: jellybit
|
||||
PKG: ./cmd/jellybit
|
||||
# Версия линтера для воспроизводимой установки (см. задачу setup).
|
||||
GOLANGCI_VERSION: v2.12.2
|
||||
|
||||
tasks:
|
||||
default:
|
||||
desc: Список доступных задач
|
||||
cmds:
|
||||
- task --list
|
||||
silent: true
|
||||
|
||||
run:
|
||||
desc: 'Локальный запуск (нужен ./config.toml с db_path -> ./jellybit.db)'
|
||||
cmds:
|
||||
- go run {{.PKG}} --config ./config.toml
|
||||
|
||||
build:
|
||||
desc: Статический бинарь linux/amd64 для сервера (Intel N150)
|
||||
cmds:
|
||||
- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags='-s -w' -o {{.BINARY}} {{.PKG}}
|
||||
|
||||
test:
|
||||
desc: Прогон тестов
|
||||
cmds:
|
||||
- go test ./...
|
||||
|
||||
lint:
|
||||
desc: Запуск golangci-lint
|
||||
cmds:
|
||||
- golangci-lint run
|
||||
|
||||
tidy:
|
||||
desc: go mod tidy
|
||||
cmds:
|
||||
- go mod tidy
|
||||
|
||||
image:
|
||||
desc: Docker-образ из готового бинаря (см. docs/adr docker-deploy)
|
||||
deps: [build]
|
||||
cmds:
|
||||
- docker build -t jellybit:dev .
|
||||
|
||||
clean:
|
||||
desc: Удалить собранный бинарь
|
||||
cmds:
|
||||
- rm -f {{.BINARY}}
|
||||
|
||||
setup:
|
||||
desc: Установка инструментов разработки (линтер + git-хуки lefthook)
|
||||
cmds:
|
||||
- go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@{{.GOLANGCI_VERSION}}
|
||||
- lefthook install
|
||||
Reference in New Issue
Block a user