github.com/purpleclay/gitz@v0.8.2-0.20240515052600-43f80eea2fe1/Taskfile.yaml (about) 1 version: "3" 2 3 tasks: 4 default: 5 desc: Runs all of the default tasks 6 cmds: 7 - task: ci 8 9 ci: 10 desc: Run all CI tasks 11 cmds: 12 - task: deps 13 - task: unit-test 14 - task: lint 15 16 deps: 17 desc: Install all dependencies 18 cmds: 19 - go mod tidy 20 21 test: 22 desc: Run all of the tests 23 cmds: 24 - task: unit-test 25 - task: docker-test 26 27 unit-test: 28 desc: Run the unit tests 29 vars: 30 TEST_FORMAT: '{{default "" .TEST_FORMAT}}' 31 COVER_PROFILE: '{{default "coverage.out" .COVER_PROFILE}}' 32 TEST_OPTIONS: '{{default "-short -race -vet=off -shuffle=on -p 1" .TEST_OPTIONS}}' 33 cmds: 34 - go test {{.TEST_OPTIONS}} -covermode=atomic -coverprofile={{.COVER_PROFILE}} {{.TEST_FORMAT}} ./... 35 36 docker-test: 37 desc: Run the docker-based tests 38 cmds: 39 - docker build . -t gitz-test:latest -f testdata/Dockerfile --build-arg test=tagsigned 40 - docker build . -t gitz-test:latest -f testdata/Dockerfile --build-arg test=tagsigningkey 41 - docker build . -t gitz-test:latest -f testdata/Dockerfile --build-arg test=commitsigned 42 - docker build . -t gitz-test:latest -f testdata/Dockerfile --build-arg test=commitsigningkey 43 - docker build . -t gitz-test:latest -f testdata/Dockerfile --build-arg test=showcommit 44 45 lint: 46 desc: Lint the code using golangci-lint 47 vars: 48 REPORT_FORMAT: '{{default "colored-line-number" .REPORT_FORMAT}}' 49 cmds: 50 - golangci-lint run --timeout 5m0s --out-format {{.REPORT_FORMAT}} 51 52 format: 53 desc: Format the code using gofumpt 54 cmds: 55 - gofumpt -w -l .