1
0
mirror of https://blitiri.com.ar/repos/chasquid synced 2026-01-07 17:47:14 +00:00
Files
go-chasquid-smtp/.cirrus.yml
Alberto Bertogli 7fa564f822 smtpsrv: Add comment on BuildNameToCertificate being deprecated
tls.Config.BuildNameToCertificate was deprecated in Go 1.14, and is no
longer necessary.

However, we support down to 1.11, so we will keep it for now.

This patch adds a TODO to remove it in the future once the minimum
supported version is 1.14; and adjust the CI linter accordingly.
2020-05-13 23:42:37 +01:00

73 lines
2.0 KiB
YAML

# Configuration for https://cirrus-ci.org/
env:
GOPROXY: https://proxy.golang.org
# Run go tests under a Linux container.
# 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.
linux_task:
name: Go tests (Linux)
container:
image: golang:latest
modules_cache:
fingerprint_script: cat go.sum
folder: $GOPATH/pkg/mod
get_script: |
useradd --create-home --user-group testing
su testing -c "go get ./..."
build_script: |
su testing -c "go build ./..."
test_script: |
su testing -c "go test ./..."
# Run go tests under a FreeBSD VM.
# Same as linux_task, we need to use a separate non-root user.
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.
# SA1019: BuildNameToCertificate deprecation, remove on Go >= 1.14.
text: "SA1015:|SA1019:"
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