forked from pouchdb/pouchdb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
149 lines (113 loc) · 5.56 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
language: node_js
node_js:
- "stable"
services:
- docker
git:
depth: 30
sudo:
false
addons:
firefox: "41.0.1"
before_install:
# Install CouchDB Stable
- docker run -d -p 3000:5984 klaemo/couchdb:1.6.1
# Install CouchDB Master
- docker run -d -p 3001:5984 klaemo/couchdb:2.0-dev --with-haproxy --with-admin-party-please -n 1
# Because Saucelabs doesnt proxy 5984 on OSX
- export COUCH_HOST=http://127.0.0.1:3000
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 jshint
# set up CORS
- "./node_modules/.bin/add-cors-to-couchdb http://127.0.0.1:3000"
script: npm run $COMMAND
env:
global:
- 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 against pouchdb-server
- CLIENT=node SERVER=pouchdb-server COMMAND=test
- CLIENT=selenium:firefox:41.0.1 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:41.0.1 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:41.0.1 COMMAND=test
- AUTO_COMPACTION=true CLIENT=selenium:phantomjs COMMAND=test
# Test map/reduce
- TYPE=mapreduce CLIENT=node COMMAND=test
- TYPE=mapreduce CLIENT=selenium:firefox:41.0.1 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:internet explorer:10:Windows 8" ADAPTERS=memory COMMAND=test
- CLIENT="saucelabs:iphone:8.4:OS X 10.11" ADAPTERS=fruitdown GREP=suite2 INVERT=true COMMAND=test
- CLIENT="saucelabs:iphone:8.4:OS X 10.11" ADAPTERS=fruitdown GREP=suite2 COMMAND=test
# split up the android+iphone tests as it goes over time
- GREP=suite2 INVERT=true SKIP_MIGRATION=true CLIENT="saucelabs:iphone:8.1:OS X 10.10" COMMAND=test
- GREP=suite2 SKIP_MIGRATION=true CLIENT="saucelabs:iphone:8.1:OS X 10.10" COMMAND=test
- GREP=suite2 CLIENT="saucelabs:Android:5.1:Linux" COMMAND=test
- GREP=suite2 INVERT=true CLIENT="saucelabs:Android:5.1:Linux" COMMAND=test
- CLIENT=selenium:firefox:41.0.1 ADAPTERS=memory COMMAND=test
- CLIENT=selenium:firefox:41.0.1 ADAPTERS=localstorage COMMAND=test
# Test Webpack bundle
- CLIENT=selenium:firefox:41.0.1 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:41.0.1 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:41.0.1 SERVER=couchdb-master COUCH_HOST=https://$CLOUDANT_USERNAME:$CLOUDANT_PASSWORD@pouch.cloudant.com COMMAND=test
# Performance tests
- CLIENT=selenium:firefox:41.0.1 PERF=1 COMMAND=test
- PERF=1 COMMAND=test
- COMMAND=test-extras
- COMMAND=test-unit
- COMMAND=test-component
- COMMAND=test-fuzzy
- COMMAND=report-coverage
- COMMAND=verify-bundle-size
matrix:
allow_failures:
# Expected failures
- env: GREP=test.replication.js CLIENT=node SERVER=sync-gateway BAIL=0 COMMAND=test
# Allowed failures
- 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:41.0.1 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:41.0.1 SERVER=pouchdb-server COMMAND=test
- env: SERVER_ADAPTER=memdown LEVEL_ADAPTER=memdown SERVER=pouchdb-server COMMAND=test
- env: COMMAND=report-coverage
- env: CLIENT=selenium:firefox:41.0.1 SERVER=couchdb-master COUCH_HOST=https://$CLOUDANT_USERNAME:$CLOUDANT_PASSWORD@pouch.cloudant.com COMMAND=test
fast_finish: true
include:
- node_js: "0.10"
services: docker
env: CLIENT=node COMMAND=test
- node_js: "0.11"
services: docker
env: CLIENT=node COMMAND=test
- node_js: "0.12"
services: docker
env: CLIENT=node COMMAND=test
branches:
only:
- master