4.17.0
[express.git] / .travis.yml
blob7b11677ec87ebe4707d56097a35e539c1d083278
1 language: node_js
2 node_js:
3   - "0.10"
4   - "0.12"
5   - "1.8"
6   - "2.5"
7   - "3.3"
8   - "4.9"
9   - "5.12"
10   - "6.17"
11   - "7.10"
12   - "8.16"
13   - "9.11"
14   - "10.15"
15   - "11.15"
16   - "12.2"
17 matrix:
18   include:
19     - node_js: "13"
20       env: "NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly"
21   allow_failures:
22     # Allow the nightly installs to fail
23     - env: "NVM_NODEJS_ORG_MIRROR=https://nodejs.org/download/nightly"
24 sudo: false
25 cache:
26   directories:
27     - node_modules
28 before_install:
29   # Configure npm
30   - |
31     # Skip updating shrinkwrap / lock
32     npm config set shrinkwrap false
33   # Remove all non-test dependencies
34   - |
35     # Remove example dependencies
36     npm rm --silent --save-dev connect-redis
37   # Setup Node.js version-specific dependencies
38   - |
39     # mocha for testing
40     # - use 3.x for Node.js < 6
41     if [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -lt 6 ]]; then
42       npm install --silent --save-dev mocha@3.5.3
43     fi
44   - |
45     # supertest for http calls
46     # - use 2.0.0 for Node.js < 4
47     if [[ "$(cut -d. -f1 <<< "$TRAVIS_NODE_VERSION")" -lt 4 ]]; then
48       npm install --silent --save-dev supertest@2.0.0
49     fi
50   # Update Node.js modules
51   - |
52     # Prune and rebuild node_modules
53     if [[ -d node_modules ]]; then
54       npm prune
55       npm rebuild
56     fi
57 script:
58   # Run test script
59   - npm run test-ci
60   # Run linting
61   - npm run lint
62 after_script:
63   - |
64     # Upload coverage to coveralls
65     npm install --save-dev coveralls@2.12.0
66     coveralls < ./coverage/lcov.info