2021-10-06 01:05:22 +02:00
|
|
|
# https://taskfile.dev
|
|
|
|
|
|
|
|
version: '3'
|
|
|
|
|
|
|
|
env:
|
|
|
|
GO111MODULE: on
|
|
|
|
GOPROXY: https://proxy.golang.org,direct
|
|
|
|
|
|
|
|
vars:
|
|
|
|
DOCKER: '{{default "docker" .DOCKER}}'
|
|
|
|
|
|
|
|
tasks:
|
|
|
|
dev:
|
2021-10-06 01:20:23 +02:00
|
|
|
desc: Setup git hooks
|
2021-10-06 01:05:22 +02:00
|
|
|
cmds:
|
|
|
|
- cp -f scripts/pre-commit.sh .git/hooks/pre-commit
|
|
|
|
|
|
|
|
setup:
|
|
|
|
desc: Install dependencies
|
|
|
|
cmds:
|
|
|
|
- go mod tidy
|
|
|
|
|
|
|
|
build:
|
|
|
|
desc: Build the binary
|
2021-10-06 04:23:19 +02:00
|
|
|
sources:
|
|
|
|
- ./**/*.go
|
|
|
|
generates:
|
|
|
|
- ./goreleaser
|
2021-10-06 01:05:22 +02:00
|
|
|
cmds:
|
|
|
|
- go build
|
|
|
|
|
|
|
|
test:
|
|
|
|
desc: Run tests
|
|
|
|
env:
|
|
|
|
LC_ALL: C
|
|
|
|
vars:
|
|
|
|
TEST_OPTIONS: '{{default "" .TEST_OPTIONS}}'
|
2021-10-06 01:22:26 +02:00
|
|
|
SOURCE_FILES: '{{default "./..." .SOURCE_FILES}}'
|
2021-10-06 01:05:22 +02:00
|
|
|
TEST_PATTERN: '{{default "." .TEST_PATTERN}}'
|
|
|
|
cmds:
|
|
|
|
- go test {{.TEST_OPTIONS}} -failfast -race -coverpkg=./... -covermode=atomic -coverprofile=coverage.txt {{.SOURCE_FILES}} -run {{.TEST_PATTERN}} -timeout=5m
|
|
|
|
|
|
|
|
cover:
|
2021-10-06 01:20:23 +02:00
|
|
|
desc: Open the cover tool
|
2021-10-06 01:05:22 +02:00
|
|
|
cmds:
|
|
|
|
- go tool cover -html=coverage.txt
|
|
|
|
|
|
|
|
fmt:
|
2021-10-06 01:20:23 +02:00
|
|
|
desc: gofumpt all code
|
2021-10-06 01:05:22 +02:00
|
|
|
cmds:
|
|
|
|
- gofumpt -w -l -s .
|
|
|
|
|
|
|
|
ci:
|
2021-10-06 01:39:24 +02:00
|
|
|
desc: Run all CI steps
|
2021-10-06 13:07:40 +02:00
|
|
|
cmds:
|
|
|
|
- task: setup
|
|
|
|
- task: build
|
|
|
|
- task: test
|
|
|
|
|
|
|
|
default:
|
|
|
|
desc: Runs the default tasks
|
|
|
|
cmds:
|
|
|
|
- task: ci
|
2021-10-06 01:05:22 +02:00
|
|
|
|
2021-10-10 16:16:03 +02:00
|
|
|
docs:generate:
|
|
|
|
desc: Generate docs
|
|
|
|
cmds:
|
|
|
|
- cp -rf CONTRIBUTING.md www/docs/contributing.md
|
|
|
|
sources:
|
|
|
|
- CONTRIBUTING.md
|
|
|
|
generates:
|
|
|
|
- www/docs/contributing.md
|
|
|
|
|
2021-10-06 01:20:23 +02:00
|
|
|
docs:imgs:
|
2021-10-06 01:05:22 +02:00
|
|
|
desc: Download and resize images
|
|
|
|
cmds:
|
|
|
|
- wget -O www/docs/static/logo.png https://github.com/goreleaser/artwork/raw/master/goreleaserfundo.png
|
|
|
|
- wget -O www/docs/static/card.png "https://og.caarlos0.dev/**GoReleaser**%20%7C%20Deliver%20Go%20binaries%20as%20fast%20and%20easily%20as%20possible.png?theme=light&md=1&fontSize=80px&images=https://github.com/goreleaser.png"
|
|
|
|
- wget -O www/docs/static/avatar.png https://github.com/goreleaser.png
|
2021-10-06 01:46:59 +02:00
|
|
|
- convert www/docs/static/avatar.png -define icon:auto-resize=64,48,32,16 www/docs/static/favicon.ico
|
2021-10-06 01:05:22 +02:00
|
|
|
- convert www/docs/static/avatar.png -resize x120 www/docs/static/apple-touch-icon.png
|
|
|
|
|
|
|
|
docs:serve:
|
|
|
|
desc: Start documentation server
|
|
|
|
cmds:
|
2021-10-10 16:16:03 +02:00
|
|
|
- task: docs:generate
|
2021-10-06 01:05:22 +02:00
|
|
|
- '{{.DOCKER}} run --rm -it -p 8000:8000 -v ${PWD}/www:/docs docker.io/squidfunk/mkdocs-material'
|
|
|
|
|
2021-10-06 01:20:23 +02:00
|
|
|
docs:vercel:build:
|
|
|
|
desc: Build documentation for deploying to Vercel
|
2021-10-06 01:05:22 +02:00
|
|
|
cmds:
|
2021-10-06 01:20:23 +02:00
|
|
|
- scripts/vercel/install.sh
|
|
|
|
- scripts/vercel/build.sh
|
2021-10-06 04:23:19 +02:00
|
|
|
|
|
|
|
release:
|
|
|
|
desc: Create a new tag
|
|
|
|
vars:
|
|
|
|
NEXT:
|
|
|
|
sh: svu n
|
|
|
|
cmds:
|
|
|
|
- git tag {{.NEXT}}
|
|
|
|
- echo {{.NEXT}}
|
|
|
|
- git push origin --tags
|
|
|
|
|
|
|
|
goreleaser:
|
|
|
|
desc: Run GoReleaser either in snapshot or release mode
|
|
|
|
deps:
|
|
|
|
- build
|
|
|
|
vars:
|
|
|
|
SNAPSHOT:
|
|
|
|
sh: 'if [[ $GITHUB_REF != refs/tags/v* ]]; then echo "--snapshot"; fi'
|
|
|
|
cmds:
|
|
|
|
- ./goreleaser release --rm-dist {{.SNAPSHOT}}
|