1
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.9 KiB
YAML

# CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-go/ for more details
version: 2
jobs:
test:
docker:
# specify the version
- image: circleci/golang@sha256:bf91f089cecab7fcd329193022794e7d13c42ee4570b1ac2920875c1b948eb63
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
#### TEMPLATE_NOTE: go expects specific checkout path representing url
#### expecting it in the form of
#### /go/src/github.com/circleci/go-tool
#### /go/src/bitbucket.org/circleci/go-tool
working_directory: /go/src/github.com/rqlite/rqlite
steps:
- checkout
# specify any bash command here prefixed with `run: `
- run: go version
- run: go get -v -t -d ./...
- run: bash gofmt.sh
- run: go vet -testinggoroutine=false ./...
- run: go test ./...
race:
docker:
# specify the version
- image: circleci/golang@sha256:bf91f089cecab7fcd329193022794e7d13c42ee4570b1ac2920875c1b948eb63
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
# - image: circleci/postgres:9.4
#### TEMPLATE_NOTE: go expects specific checkout path representing url
#### expecting it in the form of
#### /go/src/github.com/circleci/go-tool
#### /go/src/bitbucket.org/circleci/go-tool
working_directory: /go/src/github.com/rqlite/rqlite
steps:
- checkout
# specify any bash command here prefixed with `run: `
# BoltDB, no longer maintained, has pointer issues. However, it's run
# for years without actual issue so disabling the pointer tests
- run: go version
- run: go get -t -d ./...
- run:
command: go test -v -timeout 20m -gcflags=all=-d=checkptr=0 -race ./...
environment:
GORACE: "halt_on_error=1"
end_to_end:
working_directory: /go/src/github.com/rqlite/rqlite
docker:
- image: circleci/golang@sha256:bf91f089cecab7fcd329193022794e7d13c42ee4570b1ac2920875c1b948eb63
- image: consul
- image: gcr.io/etcd-development/etcd:v3.5.1
steps:
- checkout
- run: sudo apt-get update
- run: sudo apt-get install python3
- run: sudo apt install python3-pip
- run: python3 -m pip install requests
- run: go version
- run: go get -t -d -v ./...
- run: go install -tags osusergo,netgo,sqlite_omit_load_extension -ldflags="-extldflags=-static" ./...
- run:
command: python3 system_test/full_system_test.py
environment:
RQLITED_PATH: /go/bin/rqlited
workflows:
version: 2
build_and_test:
jobs:
- test
- race
- end_to_end