|
|
|
|
|
|
|
# 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 get -v -t -d ./...
|
|
|
|
- run: bash gofmt.sh
|
|
|
|
- run: go vet
|
|
|
|
- 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 get -v -t -d ./...
|
|
|
|
- run:
|
|
|
|
command: go test -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
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run: sudo apt-get install python-requests
|
|
|
|
- run: go get -t -d -v ./...
|
|
|
|
- run: go install -tags osusergo,netgo,sqlite_omit_load_extension -ldflags="-extldflags=-static" ./...
|
|
|
|
- run:
|
|
|
|
command: system_test/full_system_test.py
|
|
|
|
environment:
|
|
|
|
RQLITED_PATH: /go/bin/rqlited
|
|
|
|
|
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
build_and_test:
|
|
|
|
jobs:
|
|
|
|
- test
|
|
|
|
- race
|
|
|
|
- end_to_end
|