tests: use stages for the travis execution (#967)

* tests: use stages for the travis execution

Fixes #694

* add comments as suggested by @nventuro

* move the unit tests first, as suggested by @frangio

* make stages clearer as suggested by @nventuro

* tests: use stages for the travis execution

Fixes #694

* add comments as suggested by @nventuro

* move the unit tests first, as suggested by @frangio

* make stages clearer as suggested by @nventuro

* update the stage names as suggested by @frangio

* Run all tests in parallel

* added names
pull/1219/head
Leo Arias 7 years ago committed by Francisco Giordano
parent b59b43fa44
commit df9426f989
  1. 39
      .travis.yml
  2. 8
      package.json
  3. 2
      scripts/test.sh

@ -4,24 +4,41 @@ group: beta
language: node_js
node_js:
- "8"
cache:
directories:
- node_modules
env:
-
- SOLIDITY_COVERAGE=true
- SOLC_NIGHTLY=true
matrix:
jobs:
# XXX fast_finish doesn't work with stages yet. See
# https://github.com/travis-ci/travis-ci/issues/8425
# --elopio - 20180531
fast_finish: true
allow_failures:
- env: SOLIDITY_COVERAGE=true
- env: SOLC_NIGHTLY=true
before_script:
- truffle version
script:
- npm run lint
- npm run lint:sol
- npm run test
include:
# Run the unit test suite three times in parallel.
# The first one gets results faster and is the only one required to pass.
# The second one generates the coverage report.
# The third one is to keep us informed about possible issues with the
# upcoming solidity release.
- stage: tests
name: "unit tests"
script: npm run test
- stage: tests
name: "unit tests with coverage"
script: npm run test
env: SOLIDITY_COVERAGE=true
- stage: tests
name: "unit tests with solc nightly"
script: npm run test
env: SOLC_NIGHTLY=true
# solidity and javascript style tests.
- stage: tests
name: "static tests"
script: npm run lint
notifications:
slack:
rooms:

@ -8,12 +8,12 @@
],
"scripts": {
"test": "scripts/test.sh",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"lint:js": "eslint .",
"lint:js:fix": "eslint . --fix",
"lint:sol": "solium -d .",
"lint:sol:fix": "solium -d . --fix",
"lint:all": "npm run lint && npm run lint:sol",
"lint:all:fix": "npm run lint:fix && npm run lint:sol:fix",
"lint": "npm run lint:js && npm run lint:sol",
"lint:fix": "npm run lint:js:fix && npm run lint:sol:fix",
"console": "truffle console",
"coverage": "scripts/coverage.sh",
"version": "scripts/version.js"

@ -59,6 +59,8 @@ if [ "$SOLC_NIGHTLY" = true ]; then
wget -q https://raw.githubusercontent.com/ethereum/solc-bin/gh-pages/bin/soljson-nightly.js -O /tmp/soljson.js && find . -name soljson.js -exec cp /tmp/soljson.js {} \;
fi
truffle version
if [ "$SOLIDITY_COVERAGE" = true ]; then
node_modules/.bin/solidity-coverage

Loading…
Cancel
Save