67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
sudo: false
|
|
language: go
|
|
os: linux
|
|
go: 1.9
|
|
|
|
env:
|
|
- GOFLAGS=
|
|
- GOFLAGS=-race
|
|
- GOFLAGS= WITH_ETCD=true
|
|
- GOFLAGS=-race WITH_ETCD=true
|
|
|
|
matrix:
|
|
fast_finish: true
|
|
|
|
install:
|
|
- |
|
|
if [ ! -d $HOME/gopath/src/github.com/google ]; then
|
|
mkdir -p $HOME/gopath/src/github.com/google
|
|
ln -s $TRAVIS_BUILD_DIR $HOME/gopath/src/github.com/google/certificate-transparency-go
|
|
fi
|
|
- mkdir ../protoc
|
|
- |
|
|
(
|
|
cd ../protoc
|
|
wget https://github.com/google/protobuf/releases/download/v3.2.0/protoc-3.2.0-${TRAVIS_OS_NAME}-x86_64.zip
|
|
unzip protoc-3.2.0-${TRAVIS_OS_NAME}-x86_64.zip
|
|
)
|
|
- export PATH=$(pwd)/../protoc/bin:$PATH
|
|
- go get -d -t ./...
|
|
- go get github.com/alecthomas/gometalinter
|
|
- gometalinter --install
|
|
- go get -u github.com/golang/protobuf/proto
|
|
- go get -u github.com/golang/protobuf/protoc-gen-go
|
|
- go install github.com/golang/mock/mockgen
|
|
# install vendored etcd binary
|
|
- go install ./vendor/github.com/coreos/etcd/cmd/etcd
|
|
- go install ./vendor/github.com/coreos/etcd/cmd/etcdctl
|
|
- pushd ${GOPATH}/src/github.com/google/trillian
|
|
- go get -d -t ./...
|
|
- popd
|
|
|
|
script:
|
|
- set -e
|
|
- export TRILLIAN_SQL_DRIVER=mysql
|
|
- cd $HOME/gopath/src/github.com/google/certificate-transparency-go
|
|
- ./scripts/presubmit.sh ${PRESUBMIT_OPTS}
|
|
- |
|
|
# Check re-generation didn't change anything
|
|
status=$(git status --porcelain | grep -v coverage) || :
|
|
if [[ -n ${status} ]]; then
|
|
echo "Regenerated files differ from checked-in versions: ${status}"
|
|
git status
|
|
git diff
|
|
exit 1
|
|
fi
|
|
- |
|
|
if [[ "${WITH_ETCD}" == "true" ]]; then
|
|
export ETCD_DIR="${GOPATH}/bin"
|
|
fi
|
|
- ./trillian/integration/integration_test.sh
|
|
- HAMMER_OPTS="--operations=1500" ./trillian/integration/ct_hammer_test.sh
|
|
- set +e
|
|
|
|
after_success:
|
|
- cp /tmp/coverage.txt .
|
|
- bash <(curl -s https://codecov.io/bash)
|