60 lines
1.3 KiB
YAML
60 lines
1.3 KiB
YAML
version: "3"
|
|
|
|
vars:
|
|
BINARY: gitlab-sim
|
|
GO: /usr/local/go/bin/go
|
|
|
|
tasks:
|
|
default:
|
|
desc: List available tasks
|
|
cmd: task --list
|
|
|
|
build:
|
|
desc: Build the gitlab-sim binary
|
|
cmds:
|
|
- "{{.GO}} build -o {{.BINARY}} ./cmd/gitlab-sim/..."
|
|
sources:
|
|
- "**/*.go"
|
|
- go.mod
|
|
generates:
|
|
- "{{.BINARY}}"
|
|
|
|
test:
|
|
desc: Run Go unit tests
|
|
cmd: "{{.GO}} test ./..."
|
|
|
|
validate:
|
|
desc: Run gitlab-sim against all testdata fixtures
|
|
deps: [build]
|
|
cmds:
|
|
- cmd: ./{{.BINARY}} testdata/valid.yml
|
|
ignore_error: false
|
|
- cmd: ./{{.BINARY}} testdata/extends.yml
|
|
ignore_error: false
|
|
- cmd: ./{{.BINARY}} testdata/keywords_valid.yml
|
|
ignore_error: false
|
|
- cmd: ./{{.BINARY}} testdata/invalid.yml
|
|
ignore_error: true
|
|
- cmd: ./{{.BINARY}} testdata/needs.yml
|
|
ignore_error: true
|
|
- cmd: ./{{.BINARY}} testdata/needs_cycle.yml
|
|
ignore_error: true
|
|
- cmd: ./{{.BINARY}} testdata/keywords_invalid.yml
|
|
ignore_error: true
|
|
|
|
lint-go:
|
|
desc: Run go vet on all packages
|
|
cmd: "{{.GO}} vet ./..."
|
|
|
|
ci:
|
|
desc: Full CI check — vet, test, build, validate
|
|
cmds:
|
|
- task: lint-go
|
|
- task: test
|
|
- task: build
|
|
- task: validate
|
|
|
|
clean:
|
|
desc: Remove build artifacts
|
|
cmd: rm -f {{.BINARY}}
|