# Configuration for https://cirrus-ci.org/ env: GOPROXY: https://proxy.golang.org # Run go tests under a FreeBSD VM. # Note that by default it is run as root, which causes the tests to fail since # they expect to get permission denied on some cases, so we create a separate # user and use that instead. freebsd_task: name: Go tests (FreeBSD) freebsd_instance: image_family: freebsd-13-0-snap install_script: | pkg install -y lang/go pw useradd testing -m test_script: | su testing -c "go test ./..." # GolangCI linter. lint_task: name: GolangCI Lint container: image: golangci/golangci-lint:latest environment: LINT_CONFIG: | issues: exclude: - "Error return value of .(.*Errorf?). is not checked" - "Error return value of .(.*SetDeadline). is not checked" - "Error return value of .(.*ListenAndServe). is not checked" exclude-rules: - path: _test\.go linters: - errcheck - linters: - staticcheck # SA1015: time.Tick leaks but it's ok on endless functions. text: "SA1015:" exclude-use-default: true lint_config_file: path: /tmp/lint.yml variable_name: LINT_CONFIG run_script: | golangci-lint run -v --out-format json \ -c /tmp/lint.yml \ > lint-report.json always: golangci_artifacts: path: lint-report.json type: text/json format: golangci