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 .