]> gitweb.factorcode.org Git - factor.git/blob - .travis.yml
build.cmd: github is source of truth now
[factor.git] / .travis.yml
1 language: cpp
2 compiler:
3   - clang
4   - gcc
5 os:
6   - linux
7   - osx
8 sudo: required
9 dist: trusty
10 group: deprecated-2017Q4
11 services:
12   - postgresql
13   - redis-server
14 branches:
15   except:
16   - clean-windows-x86-64
17   - clean-windows-x86-32
18   - clean-linux-x86-64
19   - clean-linux-x86-32
20   - clean-macosx-x86-64
21   - clean-macosx-x86-32
22 addons:
23   apt:
24     packages:
25       - links
26       - libblas-dev
27       - libmagic-dev
28       - libsnappy-dev
29       - libzmq-dev
30       - libpq-dev
31       - cmake
32       - libaio-dev
33       - libsnappy-dev
34       - libgtk2.0-dev
35       - gtk2-engines-pixbuf
36 before_install:
37   - uname -s
38   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export HOMEBREW_NO_AUTO_UPDATE=1 ; fi # Don't let homebrew upgrade itself
39   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rm -rf ~/.gnupg/; fi  # https://github.com/rvm/rvm/issues/3110
40   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -sSL https://rvm.io/mpapis.asc | gpg --import - ; fi
41   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -sSL https://rvm.io/pkuczynski.asc | gpg --import - ; fi
42   - 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
43   #- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rvm reload ; fi # for homebrew to have 2.6.3, which takes too long. instead we just use HOMEBREW_NO_AUTO_UPDATE=1
44   #- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rvm install ruby-2.6.3 ; fi # for homebrew
45   #- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then rvm use 2.6 ; fi # for homebrew
46
47   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./build.sh deps-macosx ; else ./build.sh deps-apt-get ; fi
48   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions snappy > /dev/null || brew install snappy; fi
49   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions cmake > /dev/null || brew install cmake; fi
50   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions libmagic > /dev/null || brew install libmagic; fi
51   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions memcached > /dev/null || brew install memcached; fi
52   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions redis > /dev/null || brew install redis; fi
53   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions zeromq > /dev/null || brew install zeromq; fi
54   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions postgresql > /dev/null || brew install postgresql; fi
55   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew services start memcached; fi
56   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew services start redis; fi
57   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew services start postgresql; fi
58   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew services start memcached; fi
59   - if [[ "$TRAVIS_OS_NAME" != "windows" ]]; then
60       wget https://github.com/vmt/udis86/archive/v1.7.2.tar.gz && tar xzvf v1.7.2.tar.gz &&
61       ( cd udis86-1.7.2/ && ./autogen.sh && ./configure --enable-shared=yes && make && sudo make install ) &&
62       ( [[ "$TRAVIS_OS_NAME" != "osx" ]] && sudo ldconfig || true );
63     fi
64   - git remote set-branches --add origin master
65   - git remote set-branches --add origin clean-windows-x86-64
66   - git remote set-branches --add origin clean-windows-x86-32
67   - git remote set-branches --add origin clean-linux-x86-64
68   - git remote set-branches --add origin clean-linux-x86-32
69   - git remote set-branches --add origin clean-macosx-x86-64
70   - git remote set-branches --add origin clean-macosx-x86-32
71   - git fetch # so we can see which vocabs changed versus origin/master...
72 script:
73   - echo "TRAVIS_BRANCH=$TRAVIS_BRANCH, TRAVIS_PULL_REQUEST_BRANCH=$TRAVIS_PULL_REQUEST_BRANCH"
74   - export CI_BRANCH="${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}"
75   - echo "CI_BRANCH=${CI_BRANCH}"
76   - DEBUG=1 ./build.sh net-bootstrap < /dev/null
77   - "./factor -e='USING: memory vocabs.hierarchy tools.test namespaces ; \"zealot\" load f long-unit-tests-enabled? set-global save'"
78   - './factor -run=zealot.cli-changed-vocabs'
79   - './factor -run=tools.test `./factor -run=zealot.cli-changed-vocabs | paste -s -d " " -`'
80   - './factor -run=zealot.help-lint `./factor -run=zealot.cli-changed-vocabs | paste -s -d " " -`'
81   - "./factor -e='USING: modern.paths tools.test sequences system kernel math random ; core-vocabs os macosx? [ dup length 3 /i sample ] when [ test ] each'"