| language: node_js |
| |
| node_js: |
| - "5" |
| |
| services: |
| - docker |
| |
| git: |
| depth: 30 |
| |
| sudo: |
| false |
| |
| addons: |
| firefox: "48.0" |
| |
| before_install: |
| # Because Saucelabs doesnt proxy 5984 on OSX |
| - "if [ -z \"$COUCH_HOST\" ]; then export COUCH_HOST=http://127.0.0.1:3000; fi" |
| |
| before_script: |
| - "export DISPLAY=:99.0" |
| - "sh -e /etc/init.d/xvfb start" |
| # Fail early so we dont run hours of saucelabs if we know there |
| # is a lint failure |
| - npm run eslint |
| |
| script: npm run $COMMAND |
| |
| env: |
| global: |
| - NPM_CONFIG_PROGRESS="false" |
| - secure: "WYQbfTXYwPfqz7t3ycqpXIDQdZ7C9kQJAP+08OF0cuR8eqhm7HxCiu9LjSNqoLAdlDmc55ygeS16Kn3Oht3zZ/i2Y7Gm75HcQfzUIb1sDv1xVm3aQmqZDJfAQ/r7fN8upBCLii/W8IUkJr1k717MpbdsTerIjyfPOb27hw0kJTM=" |
| - secure: "Ut9pRqzbVJHxg8vt1Cx0bTv4HAroBkvOLjtHF+11f/OzfNnAORIEPnJFHqGbOTozCPOizmzgwvCGqq9gYL8SakrfiI0wBfaL+lk0ub/FPuJ1+hwrLDU0Ju4O5reL0OSu0JB+OTmXfILuRQQkD9/7uwUEbLDFId4phSq3cz1UsK0=" |
| - secure: "MiufQQKR/EBoS7kcau/I7oYenVilysEqwx37zdgLEKlEUe3SxVOe31uLZv/bhfLNZiRuLAfmIOZmhLGnhMf0LaBzR2yC5qhBxrVHcAiTuS3q6zxpzEf02jnu+hACvj1kJJEPjpOLpEVx7ghWL4McEO0qLbdtSbQlm2IkOX1ONg0=" |
| - secure: "b8GsgkwaNEOHmJni/rPsc1f3S1/+SxbN6hnXMV7bkSIOiRZAvcf68s3I0Sdln/OPuBmyzeLm5hZ7R8nsA/jYsYD5JUgEzcmF8glcxAeuhMgh9z5jBAfqFo5oUM6B7sE9I7t3/RZkSSkBGqOXIk/43voX1ZGIZBL17VKVPfNcoZ8=" |
| - secure: "SSRTzT8OTeTpkGCLga74EGRfGmmRtsmAXbiXm1Xkg6tgQQmahxQJcrxr5QwHkdGdWkEIEudTd53AvZ/5KPmokmX/HiWsamdIj3WkrLdYvbEF4+mfqNa4oBBfrWXtPgPOG0vP1u5jPCK76S8qd7Ih8YrmAPUvecb04TnpVcLy+JM=" |
| |
| matrix: |
| - CLIENT=node COMMAND=test |
| - CLIENT=node LEVEL_PREFIX=foo_ COMMAND=test |
| |
| # Test WebSQL in Node (using node-websql) |
| - CLIENT=node ADAPTER=websql COMMAND=test |
| |
| # Test against pouchdb-server |
| - CLIENT=node SERVER=pouchdb-server COMMAND=test |
| - CLIENT=selenium:firefox:48.0 SERVER=pouchdb-server COMMAND=test |
| - SERVER_ADAPTER=memdown LEVEL_ADAPTER=memdown SERVER=pouchdb-server COMMAND=test |
| |
| # Test against pouchdb-express-router |
| - CLIENT=node SERVER=pouchdb-express-router COMMAND=test |
| |
| # Test in firefox/phantomjs running on travis |
| - CLIENT=selenium:firefox:48.0 COMMAND=test |
| - CLIENT=selenium:phantomjs COMMAND=test |
| |
| # Test auto-compaction in Node, Phantom, and Firefox |
| - AUTO_COMPACTION=true CLIENT=node COMMAND=test |
| - AUTO_COMPACTION=true CLIENT=selenium:firefox:48.0 COMMAND=test |
| - AUTO_COMPACTION=true CLIENT=selenium:phantomjs COMMAND=test |
| |
| # Test map/reduce |
| - TYPE=mapreduce CLIENT=node COMMAND=test |
| - TYPE=mapreduce CLIENT=selenium:firefox:48.0 COMMAND=test |
| - TYPE=mapreduce CLIENT=selenium:phantomjs COMMAND=test |
| |
| # Testing in saucelabs |
| - CLIENT=saucelabs:chrome COMMAND=test |
| - CLIENT=saucelabs:safari:6 COMMAND=test |
| - CLIENT="saucelabs:internet explorer:10:Windows 8" COMMAND=test |
| - CLIENT="saucelabs:MicrosoftEdge" COMMAND=test |
| - CLIENT="saucelabs:internet explorer:10:Windows 8" ADAPTERS=memory COMMAND=test |
| - CLIENT="saucelabs:iphone:8.4:OS X 10.11" ADAPTERS=fruitdown COMMAND=test |
| |
| # split up the android+iphone tests as it goes over time |
| - SKIP_MIGRATION=true CLIENT="saucelabs:iphone:8.1:OS X 10.10" COMMAND=test |
| - CLIENT="saucelabs:Android:5.1:Linux" COMMAND=test |
| - CLIENT=selenium:firefox:48.0 ADAPTERS=memory COMMAND=test |
| - CLIENT=selenium:firefox:48.0 ADAPTERS=localstorage COMMAND=test |
| |
| # Test Webpack bundle |
| - CLIENT=selenium:firefox:48.0 COMMAND=test-webpack |
| |
| # Test CouchDB master (aka bigcouch branch) |
| - COUCH_HOST=http://127.0.0.1:3001 CLIENT=node SERVER=couchdb-master COMMAND=test |
| - COUCH_HOST=http://127.0.0.1:3001 SKIP_MIGRATION=true CLIENT=selenium:firefox:48.0 SERVER=couchdb-master COMMAND=test |
| |
| # Test Couchbase Sync Gateway |
| - GREP=test.replication.js CLIENT=node SERVER=sync-gateway BAIL=0 COMMAND=test |
| |
| # Test Cloudant |
| - CLIENT=selenium:firefox:48.0 SERVER=couchdb-master COUCH_HOST=https://$CLOUDANT_USERNAME:$CLOUDANT_PASSWORD@pouch.cloudant.com COMMAND=test |
| |
| # Performance tests |
| - CLIENT=selenium:firefox:48.0 PERF=1 COMMAND=test |
| - PERF=1 COMMAND=test |
| |
| # Test Webpack bundle |
| - CLIENT=selenium:firefox:48.0 NEXT=1 COMMAND=test |
| |
| - COMMAND=test-unit |
| - COMMAND=test-component |
| - COMMAND=test-fuzzy |
| # need extra env variable COVERAGE here because of some subtlety in Travis containers not |
| # passing the process.env.COVERAGE to the node process |
| - COMMAND=report-coverage COVERAGE=1 |
| - COMMAND=verify-build |
| |
| matrix: |
| fast_finish: true |
| include: |
| - node_js: "4" |
| services: docker |
| env: CLIENT=node COMMAND=test |
| - node_js: "stable" |
| services: docker |
| env: CLIENT=node COMMAND=test |
| allow_failures: |
| - env: GREP=test.replication.js CLIENT=node SERVER=sync-gateway BAIL=0 COMMAND=test |
| - env: COUCH_HOST=http://127.0.0.1:3001 CLIENT=node SERVER=couchdb-master COMMAND=test |
| - env: COUCH_HOST=http://127.0.0.1:3001 SKIP_MIGRATION=true CLIENT=selenium:firefox:48.0 SERVER=couchdb-master COMMAND=test |
| - env: CLIENT=node SERVER=pouchdb-express-router COMMAND=test |
| - env: CLIENT=node SERVER=pouchdb-server COMMAND=test |
| - env: CLIENT=selenium:firefox:48.0 SERVER=pouchdb-server COMMAND=test |
| - env: SERVER_ADAPTER=memdown LEVEL_ADAPTER=memdown SERVER=pouchdb-server COMMAND=test |
| - env: CLIENT=selenium:firefox:48.0 SERVER=couchdb-master COUCH_HOST=https://$CLOUDANT_USERNAME:$CLOUDANT_PASSWORD@pouch.cloudant.com COMMAND=test |
| - env: CLIENT="saucelabs:MicrosoftEdge" COMMAND=test |
| - env: CLIENT=selenium:firefox:48.0 PERF=1 COMMAND=test |
| - env: CLIENT=selenium:firefox:48.0 NEXT=1 COMMAND=test |
| - node_js: "stable" |
| services: docker |
| env: CLIENT=node COMMAND=test |
| |
| branches: |
| only: |
| - master |
| |
| cache: |
| directories: |
| - $HOME/.npm |