test_task: env: ELVISH_TEST_TIME_SCALE: 10 CODECOV_TOKEN: e10d2e99-591b-4d2a-a8cf-8ca3e8d6df61 go_modules_cache: fingerprint_script: cat go.sum folder: $GOPATH/pkg/mod matrix: - name: Test on Linux container: image: golang:latest - name: Test on Linux (Old Supported Go Version) container: image: golang:1.13 env: # This should have the same coverage as the previous task, so skip it. SKIP_UPLOAD_COVERAGE: 1 - name: Test on macOS osx_instance: image: catalina-base setup_script: brew install go env: GOPATH: $HOME/go - name: Test on FreeBSD freebsd_instance: image_family: freebsd-12-1 setup_script: pkg install -y go bash env: GOPATH: $HOME/go # For some reason the FreeBSD runner often has problem reaching codecov. # Skip it to prevent the coverage from fluctuating, and make the FreeBSD # task faster. There are very few files that are built on FreeBSD but not # Linux, so losing this part of the data makes very little difference. SKIP_UPLOAD_COVERAGE: 1 go_version_script: go version test_script: go test -race ./... upload_coverage_script: - test -z $SKIP_UPLOAD_COVERAGE || exit 0 - go test -coverprofile=coverage -covermode=set ./... - curl -s https://codecov.io/bash -o codecov && bash codecov -f coverage -t $CODECOV_TOKEN || true checkstyle_go_task: name: Check the style of .go files container: image: golang:latest env: PATH: $HOME/go/bin:$PATH setup_script: go get golang.org/x/tools/cmd/goimports check_script: make checkstyle-go checkstyle_md_task: name: Check the style of .md files container: image: node:latest env: PATH: $HOME/.npm-packages/bin:$PATH setup_script: npm install --global prettier check_script: make checkstyle-md deploy_task: name: Build binaries and deploy to bintray only_if: $CIRRUS_PR == "" env: BINTRAY_TOKEN: ENCRYPTED[1a1820d17a2014de6b1798d379f86aa24bbd8acd5149656a98bfdf33746c78c85fefc8e6e522fedacdf8c4bf92bb25a0] go_modules_cache: fingerprint_script: cat go.sum folder: $GOPATH/pkg/mod container: image: theelves/cirrus-builder go_version_script: go version deploy_script: ./tools/cirrus-deploy.sh