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).
|
[Apache license 2.0](http://en.wikipedia.org/wiki/Apache_License).
|
||||||
|
|
||||||
[](https://travis-ci.org/albertito/chasquid)
|
[](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://goreportcard.com/report/github.com/albertito/chasquid)
|
||||||
[](https://blitiri.com.ar/p/chasquid/coverage.html)
|
[](https://blitiri.com.ar/p/chasquid/coverage.html)
|
||||||
[](https://blitiri.com.ar/p/chasquid/docs/)
|
[](https://blitiri.com.ar/p/chasquid/docs/)
|
||||||
|
|||||||
Reference in New Issue
Block a user