speed up CI

This commit is contained in:
Tobias Koppers 2018-05-24 13:24:43 +02:00
parent 962cea5f2b
commit 72a45ab9a9
3 changed files with 33 additions and 53 deletions

View File

@ -26,45 +26,27 @@ matrix:
stage: basic stage: basic
- os: linux - os: linux
node_js: "10" node_js: "10"
env: NO_WATCH_TESTS=1 JOB_PART=lint env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=lint-unit
stage: advanced stage: advanced
- os: linux - os: linux
node_js: "10" node_js: "10"
env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration1 env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration
stage: advanced
- os: linux
node_js: "10"
env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration2
stage: advanced
- os: linux
node_js: "10"
env: NO_WATCH_TESTS=1 JOB_PART=unit
stage: advanced stage: advanced
- os: osx - os: osx
node_js: "10" node_js: "10"
env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration1 env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration
stage: versions
- os: osx
node_js: "10"
env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration2
stage: versions stage: versions
- os: linux - os: linux
node_js: "8" node_js: "8"
env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration1 env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration
stage: versions
- os: linux
node_js: "8"
env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration2
stage: versions stage: versions
- os: linux - os: linux
node_js: "6" node_js: "6"
env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration1 env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration
stage: versions
- os: linux
node_js: "6"
env: NO_WATCH_TESTS=1 JEST="--maxWorkers=2 --cacheDirectory .jest-cache" JOB_PART=integration2
stage: versions stage: versions
fast_finish: true fast_finish: true
allow_failures:
- os: osx
install: install:
- yarn --frozen-lockfile - yarn --frozen-lockfile
@ -76,7 +58,7 @@ script: yarn travis:$JOB_PART
after_success: after_success:
- cat ./coverage/lcov.info | node_modules/.bin/coveralls --verbose - cat ./coverage/lcov.info | node_modules/.bin/coveralls --verbose
- bash <(curl -s https://codecov.io/bash) -F $JOB_PART -X gcov - bash <(curl -s https://codecov.io/bash) -F $JOB_PART -X gcov
- rm -rf ./coverage - rm -f .jest-cache/haste-map* .jest-cache/perf-cache*
notifications: notifications:
slack: slack:

View File

@ -9,30 +9,28 @@ branches:
init: init:
- git config --global core.autocrlf input - git config --global core.autocrlf input
cache:
- "..\\.yarn-cache"
- ".jest-cache"
# what combinations to test # what combinations to test
environment: environment:
matrix: matrix:
- nodejs_version: 8 - nodejs_version: 10
job_part: unit job_part: unit
- nodejs_version: 8 jest: --maxWorkers=2 --cacheDirectory .jest-cache
job_part: integration1 - nodejs_version: 10
jest: --maxWorkers=2 job_part: integration
- nodejs_version: 8 jest: --maxWorkers=2 --cacheDirectory .jest-cache
job_part: integration2
jest: --maxWorkers=2
- nodejs_version: 6 - nodejs_version: 6
job_part: integration1 job_part: integration
jest: --maxWorkers=2 jest: --maxWorkers=2 --cacheDirectory .jest-cache
- nodejs_version: 6
job_part: integration2
jest: --maxWorkers=2
install: install:
- ps: Install-Product node $env:nodejs_version x64 - ps: Install-Product node $env:nodejs_version x64
- npm install yarn -g - yarn --frozen-lockfile --preferred-cache-folder ..\\.yarn-cache
- yarn install --frozen-lockfile - yarn link --frozen-lockfile --preferred-cache-folder ..\\.yarn-cache || yarn link --frozen-lockfile --preferred-cache-folder ..\\.yarn-cache
- yarn link --frozen-lockfile || yarn link --frozen-lockfile - yarn link webpack --frozen-lockfile --preferred-cache-folder ..\\.yarn-cache
- yarn link webpack --frozen-lockfile
build: off build: off
@ -44,5 +42,7 @@ test_script:
- yarn --version - yarn --version
- cmd: set JEST=%jest% - cmd: set JEST=%jest%
- cmd: yarn appveyor:%job_part% - cmd: yarn appveyor:%job_part%
- cmd: yarn istanbul report --report lcovonly
- cmd: yarn unlink webpack - cmd: yarn unlink webpack
- cmd: yarn global add codecov && codecov -F %job_part% --disable=gcov - cmd: yarn global add codecov && codecov -F %job_part% --disable=gcov
- cmd: del /F /Q .jest-cache\\haste-map* .jest-cache\\perf-cache* 2> null || Ver > null

View File

@ -102,15 +102,12 @@
"test:integration": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.test.js\"", "test:integration": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.test.js\"",
"test:basic": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/{TestCasesNormal,StatsTestCases,ConfigTestCases}.test.js\"", "test:basic": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/{TestCasesNormal,StatsTestCases,ConfigTestCases}.test.js\"",
"test:unit": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.unittest.js\"", "test:unit": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.unittest.js\"",
"travis:integration1": "yarn cover:init && yarn cover:integration \"test/((?!TestCases)|TestCasesD)\" --ci $JEST && yarn cover:report-min", "travis:integration": "yarn cover:init && yarn cover:integration \"test/((?!TestCases)|TestCasesD)\" --ci $JEST && mv coverage/coverage-final.json coverage/coverage-final-1.json && yarn cover:integration \"test/TestCases(?!D)\" --ci $JEST && mv coverage/coverage-final.json coverage/coverage-final-2.json",
"travis:integration2": "yarn cover:init && yarn cover:integration \"test/TestCases(?!D)\" --ci $JEST && yarn cover:report-min",
"travis:basic": "yarn test:basic --ci $JEST", "travis:basic": "yarn test:basic --ci $JEST",
"travis:unit": "yarn cover:init && yarn cover:unit --ci", "travis:lint-unit": "yarn lint && yarn cover:init && yarn cover:unit --ci $JEST",
"travis:lint": "yarn lint",
"travis:benchmark": "yarn benchmark --ci", "travis:benchmark": "yarn benchmark --ci",
"appveyor:integration1": "yarn cover:init && yarn cover:integration \"test/((?!TestCases)|TestCasesD)\" --ci %JEST% && yarn cover:report-min", "appveyor:integration": "yarn cover:init && yarn cover:integration \"test/((?!TestCases)|TestCasesD)\" --ci %JEST% && move coverage\\coverage-final.json coverage\\coverage-final-1.json && yarn cover:integration \"test/TestCases(?!D)\" --ci %JEST% && move coverage\\coverage-final.json coverage\\coverage-final-2.json",
"appveyor:integration2": "yarn cover:init && yarn cover:integration \"test/TestCases(?!D)\" --ci %JEST% && yarn cover:report-min", "appveyor:unit": "yarn cover:init && yarn cover:unit --ci %JEST%",
"appveyor:unit": "yarn cover:init && yarn cover:unit --ci && yarn cover:report-min",
"appveyor:benchmark": "yarn benchmark --ci", "appveyor:benchmark": "yarn benchmark --ci",
"circleci:test": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --ci", "circleci:test": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --ci",
"circleci:lint": "yarn lint", "circleci:lint": "yarn lint",
@ -129,8 +126,7 @@
"cover:all": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --coverage", "cover:all": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --coverage",
"cover:integration": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.test.js\" --coverage", "cover:integration": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.test.js\" --coverage",
"cover:unit": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.unittest.js\" --coverage", "cover:unit": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.unittest.js\" --coverage",
"cover:report": "istanbul report", "cover:report": "istanbul report"
"cover:report-min": "istanbul report --report lcovonly"
}, },
"jest": { "jest": {
"forceExit": true, "forceExit": true,
@ -147,7 +143,8 @@
"<rootDir>/test/fixtures/temp-", "<rootDir>/test/fixtures/temp-",
"<rootDir>/benchmark/", "<rootDir>/benchmark/",
"<rootDir>/examples/*/dist", "<rootDir>/examples/*/dist",
"<rootDir>/coverage/" "<rootDir>/coverage/",
"<rootDir>/.eslintcache/"
], ],
"modulePathIgnorePatterns": [ "modulePathIgnorePatterns": [
"<rootDir>/node_modules/webpack/node_modules/", "<rootDir>/node_modules/webpack/node_modules/",
@ -157,7 +154,8 @@
"<rootDir>/test/fixtures/temp-", "<rootDir>/test/fixtures/temp-",
"<rootDir>/benchmark/", "<rootDir>/benchmark/",
"<rootDir>/examples/*/dist", "<rootDir>/examples/*/dist",
"<rootDir>/coverage/" "<rootDir>/coverage/",
"<rootDir>/.eslintcache/"
], ],
"transformIgnorePatterns": [ "transformIgnorePatterns": [
"<rootDir>/" "<rootDir>/"