caddy-log-exporter/Taskfile.yml

99 lines
1.8 KiB
YAML

version: "3"
vars:
NIX_CMD_BASE: nix develop . -c
tasks:
ci:
cmds:
- task: clean
- task: lint
- task: test-all
ci-publish:
cmds:
- task: clean
- task: lint
- task: test-all
- task: docker-publish
clean:
cmds:
- rm -rf result
docker-build:
status:
- test -f result
cmds:
- nix build .#docker
docker-local-import:
cmds:
- task: docker-build
- |
{{.NIX_CMD_BASE}} \
skopeo \
--insecure-policy \
copy \
docker-archive:$(readlink -f result) \
docker-daemon:caddy-log-exporter:NOTUSE
- |
{{.NIX_CMD_BASE}} \
skopeo \
inspect \
docker-daemon:caddy-log-exporter:NOTUSE
docker-publish:
requires:
vars:
- GITHUB_USERNAME
- GITHUB_PASSWORD
- GIT_TAG
cmds:
- task: docker-build
- |
{{.NIX_CMD_BASE}} \
skopeo \
--insecure-policy \
copy \
--dest-username {{.GITHUB_USERNAME}} --dest-password {{.GITHUB_PASSWORD}} \
docker-archive:$(readlink -f result) \
docker://ghcr.io/xsteadfastx/caddy-log-exporter:{{.GIT_TAG}}
docker-inspect:
cmds:
- |
{{.NIX_CMD_BASE}} \
skopeo \
inspect \
docker-archive:$(readlink -f result)
lint:
cmds:
- |
{{.NIX_CMD_BASE}} \
golangci-lint run --enable-all
test:
cmds:
- |
{{.NIX_CMD_BASE}} \
go test -v -race -count=1 ./internal/...
test-integration:
cmds:
- task: docker-local-import
- |
{{.NIX_CMD_BASE}} \
go test -v -race -count=1 ./test/integration/...
test-all:
cmds:
- task: test
- task: test-integration
tidy:
cmds:
- go mod tidy
- go mod vendor