mirror of
https://blitiri.com.ar/repos/chasquid
synced 2025-12-17 14:37:02 +00:00
tests: Add Cirrus CI integration
This patch adds a configuration for https://cirrus-ci.org/, which includes running the Go tests on FreeBSD.
This commit is contained in:
70
.cirrus.yml
Normal file
70
.cirrus.yml
Normal file
@@ -0,0 +1,70 @@
|
||||
|
||||
# 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
|
||||
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
|
||||
|
||||
@@ -10,7 +10,8 @@ It's written in [Go](https://golang.org), and distributed under the
|
||||
[Apache license 2.0](http://en.wikipedia.org/wiki/Apache_License).
|
||||
|
||||
[](https://travis-ci.org/albertito/chasquid)
|
||||
[](https://gitlab.com/albertito/chasquid/pipelines)
|
||||
[](https://cirrus-ci.com/github/albertito/chasquid)
|
||||
[](https://gitlab.com/albertito/chasquid/pipelines)\
|
||||
[](https://goreportcard.com/report/github.com/albertito/chasquid)
|
||||
[](https://blitiri.com.ar/p/chasquid/coverage.html)
|
||||
[](https://blitiri.com.ar/p/chasquid/docs/)
|
||||
|
||||
Reference in New Issue
Block a user