From 25232859d8cbbedd69aa67fae82dfa89c624cba0 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Fri, 18 Aug 2017 22:52:27 -0500 Subject: [PATCH] .travis.yml: Add @jonenst's travis-ci with two environment variables. To set per-repository environment variables: https://travis-ci.org/factor/factor/settings OR from the command line, from a repo cloned from github: ``` sudo apt install ruby-dev sudo gem install travis travis encrypt FACTOR_IMAP_USER="..." --add travis encrypt FACTOR_IMAP_PASSWORD="..." --add ``` --- .travis.yml | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..623156bbb2 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,62 @@ + +language: cpp +compiler: + - clang + - gcc +os: + - linux + - osx +branches: + only: + - master +sudo: required +dist: trusty +services: + - postgresql + - redis-server +addons: + apt: + packages: + - links + - libblas-dev + - libfftw3-dev + - libmagic-dev + - libsnappy-dev + - libzmq-dev + - libpq-dev + - cmake + - libaio-dev + - libsnappy-dev +before_install: + - 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 ls --versions fftw > /dev/null || brew install fftw; 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 + - > + 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 ) + - > + ( git clone -b v1.2 git://github.com/couchbase/forestdb && + cd forestdb && mkdir build && cd build && cmake ../ && + make all && + [[ "$TRAVIS_OS_NAME" != "osx" ]] && ( sudo cp libforestdb.so /usr/lib && sudo ldconfig ) || ( true ) + ) +script: > + ( echo "=== Bootstrap ===" ; ./build.sh net-bootstrap < /dev/null ; ret=$? ; echo "=== $ret ==="; [ $ret == 0 ] ) && + ( echo "=== Factor Configure Postgresql ===" ; ./factor -e='USING: db.postgresql namespaces memory ; T{ postgresql-db f "localhost" f f f f "postgres" "" } \ postgresql-db set-global save' ; ret=$? ; echo "=== $ret ==="; [ $ret == 0 ] ) && + ( echo "=== Factor Configure Imap ===" ; ./factor -e='USING: imap namespaces memory environment accessors ; T{ imap-settings { host "imap.gmail.com" } } "FACTOR_IMAP_USER" os-env >>email "FACTOR_IMAP_PASSWORD" os-env >>password \ imap-settings set-global save' ; ret=$? ; echo "=== $ret ==="; [ $ret == 0 ] ) && + ( echo "=== Mkdir ===" ; mkdir -p mason/builds ; ret=$? ; echo "=== $ret ==="; [ $ret == 0 ] ) && + ( echo "=== Factor tests ===" ; cd mason/builds && ../../factor -run=mason.test < /dev/null | awk 'NR<1000 || /^Loading resource|Unit Test/' ; ret=${PIPESTATUS[0]} ; echo "=== $ret ==="; [ $ret == 0 ]) && + ( echo "=== Factor report === " ; cd mason && ../factor -e='USING: mason.config mason.report namespaces ; "." builds-dir [ successful-report ] with-variable' ; ret=$? ; echo "=== $ret ==="; [ $ret == 0 ]) && + ( echo "=== Dump report === " ;[[ "$TRAVIS_OS_NAME" != "osx" ]] && links -dump mason/report || cat mason/report ; ret=$? ; echo "=== $ret ==="; [ $ret == 0 ]) && + [ ! -s mason/test-all-errors ]