Files
kurious/Taskfile.yml
2024-04-02 15:23:22 +03:00

74 lines
2.0 KiB
YAML

version: "3"
env:
CGO_ENABLED: 0
GOBIN: "{{.USER_WORKING_DIR}}/bin"
PROJECT: "git.loyso.art/frx/kurious"
vars:
GIT_COMMIT:
sh: git log -n 1 --format=%h
GIT_VERSION:
sh: git tag | sort -r --version-sort | head -n1
BUILD_TIME:
sh: TZ=UTC date -u +"%Y-%m-%dT%H:%M:%SZ"
LDFLAGS:
sh: echo '-X "{{.PROJECT}}.buildTime={{.BUILD_TIME}}" -X "{{.PROJECT}}.commit={{.GIT_COMMIT}}" -X "{{.PROJECT}}.version={{.GIT_VERSION}}"'
tasks:
install_tools:
cmds:
- "[[ ! -f $GOBIN/golangci-lint ]] && go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.55.2 || echo golang-ci lint installed"
- "[[ ! -f $GOBIN/templ ]] && go install github.com/a-h/templ/cmd/templ@v0.2.513 || echo templ installed"
- "[[ ! -f $GOBIN/mockery ]] && go install github.com/vektra/mockery/v2@v2.42.1 || echo mockery installed"
generate:
run: once
cmds:
- "$GOBIN/templ generate"
sources:
- "internal/kurious/ports/http/templ/*.templ"
- "internal/kurious/ports/http/bootstrap/*.templ"
generates:
- "internal/kurious/ports/http/templ/*.go"
- "internal/kurious/ports/http/bootstrap/*.go"
deps:
- install_tools
mocks:
run: once
cmd: "go generate ./internal/..."
deps:
- install_tools
check:
run: once
cmds:
- "$GOBIN/golangci-lint run ./..."
deps:
- generate
test:
run: once
cmds:
- go test ./internal/...
deps:
- generate
build_web:
cmds:
- go build -o $GOBIN/kuriousweb -v -ldflags '{{.LDFLAGS}}' cmd/kuriweb/*.go
deps: [check, test]
build_background:
cmds:
- go build -o $GOBIN/kuriousbg -v -ldflags '{{.LDFLAGS}}' cmd/background/*.go
deps: [check, test]
build_dev_cli:
cmds:
- go build -o $GOBIN/sravnicli -v -ldflags '{{.LDFLAGS}}' cmd/dev/sravnicli/*.go
deps: [check, test]
build:
cmds:
- task: build_dev_cli
- task: build_background
- task: build_web
run:
deps: [build]
cmds:
- $GOBIN/kuriousweb