123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- sudo: false
- language: go
- go:
- - 1.7.x
- - 1.8.x
- # Install g++-4.8 to support std=c++11 for github.com/google/certificate-transparency/go/merkletree
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - g++-4.8
- install:
- - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8"; fi
- # Used by the certdb tests
- services:
- - mysql
- - postgresql
- before_install:
- # CFSSL consists of multiple Go packages, which refer to each other by
- # their absolute GitHub path, e.g. github.com/cloudflare/crypto/pkcs11key.
- # That means, by default, if someone forks the repo and makes changes across
- # multiple packages within CFSSL, Travis won't pass for the branch on their
- # own repo. To fix that, we move the directory
- - mkdir -p $TRAVIS_BUILD_DIR $GOPATH/src/github.com/cloudflare
- - test ! -d $GOPATH/src/github.com/cloudflare/cfssl && mv $TRAVIS_BUILD_DIR $GOPATH/src/github.com/cloudflare/cfssl || true
- # Only build pull requests, pushes to the master branch, and branches
- # starting with `test-`. This is a convenient way to push branches to
- # your own fork of the repostiory to ensure Travis passes before submitting
- # a PR. For instance, you might run:
- # git push myremote branchname:test-branchname
- branches:
- only:
- - master
- - /^test-.*$/
- before_script:
- - go get golang.org/x/tools/cmd/goimports
- - go get github.com/onsi/gomega
- - go get github.com/onsi/ginkgo
- - go get -u github.com/golang/lint/golint
- - go get github.com/modocache/gover
- - go get -v github.com/GeertJohan/fgt
- - go get -u honnef.co/go/tools/cmd/staticcheck
- # Setup DBs + run migrations
- - go get bitbucket.org/liamstask/goose/cmd/goose
- - if [[ $(uname -s) == 'Linux' ]]; then
- psql -c 'create database certdb_development;' -U postgres;
- goose -path $GOPATH/src/github.com/cloudflare/cfssl/certdb/pg up;
- mysql -e 'create database certdb_development;' -u root;
- goose -path $GOPATH/src/github.com/cloudflare/cfssl/certdb/mysql up;
- fi
- script:
- - ./test.sh
- notifications:
- email:
- recipients:
- - nick@cloudflare.com
- - zi@cloudflare.com
- - kyle@cloudflare.com
- on_success: never
- on_failure: change
- env:
- global:
- - secure: "OmaaZ3jhU9VQ/0SYpenUJEfnmKy/MwExkefFRpDbkRSu/hTQpxxALAZV5WEHo7gxLRMRI0pytLo7w+lAd2FlX1CNcyY62MUicta/8P2twsxp+lR3v1bJ7dwk6qsDbO7Nvv3BKPCDQCHUkggbAEJaHEQGdLk4ursNEB1aGimuCEc="
- - GO15VENDOREXPERIMENT=1
- matrix:
- - BUILD_TAGS="postgresql mysql"
- matrix:
- include:
- - os: osx
- go: 1.8.1
- env: BUILD_TAGS=
- after_success:
- - bash <(curl -s https://codecov.io/bash) -f coverprofile.txt
|