language: cpp compiler: - clang - gcc os: - linux - osx sudo: required dist: trusty group: deprecated-2017Q4 services: - postgresql - redis-server branches: except: - clean-windows-x86-64 - clean-windows-x86-32 - clean-linux-x86-64 - clean-linux-x86-32 - clean-macosx-x86-64 - clean-macosx-x86-32 addons: apt: packages: - links - libblas-dev - libmagic-dev - libsnappy-dev - libzmq-dev - libpq-dev - cmake - libaio-dev - libsnappy-dev - libgtk2.0-dev - gtk2-engines-pixbuf before_install: - uname -s - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./build.sh deps-macosx ; else ./build.sh deps-apt-get ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions snappy > /dev/null || brew install snappy; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions cmake > /dev/null || brew install cmake; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions libmagic > /dev/null || brew install libmagic; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions memcached > /dev/null || brew install memcached; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions redis > /dev/null || brew install redis; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions zeromq > /dev/null || brew install zeromq; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions postgresql > /dev/null || brew install postgresql; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew services start memcached; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew services start redis; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew services start postgresql; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew services start memcached; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rm -rf ~/.gnupg/; fi # https://github.com/rvm/rvm/issues/3110 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -sSL https://rvm.io/mpapis.asc | gpg --import - ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -sSL https://get.rvm.io | bash -s stable; fi # https://github.com/travis-ci/travis-ci/issues/6307 - if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then wget https://github.com/vmt/udis86/archive/v1.7.2.tar.gz && tar xzvf v1.7.2.tar.gz && ( cd udis86-1.7.2/ && ./autogen.sh && ./configure --enable-shared=yes && make && sudo make install ) && ( [[ "$TRAVIS_OS_NAME" != "osx" ]] && sudo ldconfig || true ); fi - git remote set-branches --add origin master - git remote set-branches --add origin clean-windows-x86-64 - git remote set-branches --add origin clean-windows-x86-32 - git remote set-branches --add origin clean-linux-x86-64 - git remote set-branches --add origin clean-linux-x86-32 - git remote set-branches --add origin clean-macosx-x86-64 - git remote set-branches --add origin clean-macosx-x86-32 - git fetch # so we can see which vocabs changed versus origin/master... script: - echo "TRAVIS_BRANCH=$TRAVIS_BRANCH, TRAVIS_PULL_REQUEST_BRANCH=$TRAVIS_PULL_REQUEST_BRANCH" - export CI_BRANCH="${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}" - echo "CI_BRANCH=${CI_BRANCH}" - DEBUG=1 ./build.sh net-bootstrap < /dev/null - "./factor -e='USING: memory vocabs.hierarchy ; \"zealot\" load save'" - './factor -run=zealot.cli-changed-vocabs' - './factor -run=tools.test `./factor -run=zealot.cli-changed-vocabs | paste -s -d " " -`' - './factor -run=zealot.help-lint `./factor -run=zealot.cli-changed-vocabs | paste -s -d " " -`' - "./factor -e='USING: modern.paths tools.test sequences system kernel math random ; core-vocabs os macosx? [ dup length 3 /i sample ] when [ test ] each'"