os: - linux env: global: - PGVERSION=9.5 language: node_js node_js: - "4.4.5" notifications: email: - jeffreymealo@gmail.com webhooks: urls: - https://webhooks.gitter.im/e/3d28101cc9cfe19e264c on_success: change on_failure: always on_start: never before_install: - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - - sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main 9.5" >> /etc/apt/sources.list.d/postgresql.list' - sudo add-apt-repository -y ppa:hansjorg/rust - sudo update-alternatives --remove-all postmaster.1.gz - sudo service postgresql stop - sudo apt-get remove -y postgresql-9.1 postgresql-9.2 postgresql-9.3 postgresql-9.4 postgresql-common postgresql-contrib - sudo apt-get purge -y postgresql-9.1 postgresql-9.2 postgresql-9.3 postgresql-9.4 postgresql-common postgresql-contrib - sudo rm -rf /etc/postgresql - sudo rm -rf /var/lib/postgresql - sudo apt-get update -y install: - sudo apt-get install -y postgresql-common postgresql-$PGVERSION postgresql-client-$PGVERSION postgresql-contrib-$PGVERSION postgresql-server-dev-$PGVERSION python-setuptools rust-stable - sudo curl -sSf https://static.rust-lang.org/rustup.sh | sh - sudo easy_install pgxnclient - sudo pgxn install jsoncdc --unstable before_script: - sudo bash -c "cat test/config/bin-log.cnf >> /etc/mysql/conf.d/bin-log.cnf" - sudo bash -c "cat test/config/pg_hba.conf > /etc/postgresql/$PGVERSION/main/pg_hba.conf" - sudo bash -c "cat test/config/postgresql.conf >> /etc/postgresql/$PGVERSION/main/postgresql.conf" - sudo bash -c "cat test/config/redis.conf >> /etc/redis/redis.conf" - sudo service redis-server start - mkdir the_hatch - wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.4.tgz -O /tmp/mongodb.tgz - tar -xvf /tmp/mongodb.tgz - ${PWD}/mongodb-linux-x86_64-3.0.4/bin/mongod --port 27017 --dbpath the_hatch --replSet rs0 --oplogSize 20 --noprealloc --fork --smallfiles --logpath mongodb.log - until nc -z localhost 27017; do echo Waiting for MongoDB; sleep 1; done - ${PWD}/mongodb-linux-x86_64-3.0.4/bin/mongo lapidus --eval 'printjson(rs.initiate());' - sleep 20 - ${PWD}/mongodb-linux-x86_64-3.0.4/bin/mongo lapidus --eval 'db.getMongo().setSlaveOk();' - ${PWD}/mongodb-linux-x86_64-3.0.4/bin/mongo lapidus --eval 'db.createUser({user:"lapidus",pwd:"2PQM9aiKMJX5chv76gYdFJNi",roles:[{role:"clusterAdmin",db:"admin"},{role:"readAnyDatabase",db:"admin"},"readWrite"]});' - ${PWD}/mongodb-linux-x86_64-3.0.4/bin/mongo lapidus --eval 'db.createUser({user:"walt",pwd:"EnlmLSvK6XeneMKZOhXGEnNtvUgHtuFV2ZZi",roles:[{role:"clusterAdmin",db:"admin"},{role:"readAnyDatabase",db:"admin"},"readWrite"]});' - sudo service mysql stop - sudo service postgresql stop - sudo service postgresql start - sudo service mysql start - sudo service mysql status - sudo service postgresql status - sudo su postgres -c "psql -f test/sql/postgresql_setup.sql" - mysql -e "CREATE DATABASE jacob;" -uroot - mysql -e "CREATE DATABASE sawyer;" -uroot - mysql -e "CREATE USER 'jacob'@'localhost' IDENTIFIED BY '2PQM9aiKMJX5chv76gYdFJNi';" -uroot - mysql -e "CREATE USER 'sawyer'@'localhost' IDENTIFIED BY '2PQM9aiKMJX5chv76gYdFJNi';" -uroot - mysql -e "GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'jacob'@'localhost';" -uroot - mysql -e "GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'sawyer'@'localhost';" -uroot - mysql -e "FLUSH PRIVILEGES;" -uroot - npm install script: "npm run-script test-travis" after_script: "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"