From 47ec3169cb77ac132b1b7d1c04b2f6f89703430f Mon Sep 17 00:00:00 2001 From: Ihor Kopach Date: Wed, 17 Jun 2020 18:03:53 +0200 Subject: [PATCH] Enable KPI metrics with SeriesCi --- .travis.yml | 90 +++++++++++++++++++++++++++++++++++++++-------- package-lock.json | 40 +++++++++------------ package.json | 1 + 3 files changed, 92 insertions(+), 39 deletions(-) diff --git a/.travis.yml b/.travis.yml index a59df308..551323eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,18 +1,78 @@ language: node_js node_js: -- 11 -- 12 -- 13 + # - 11 + # - 12 + - 13 script: -- npm run lint -- npm run build -- npm run test:ci -deploy: - provider: npm - tag: dev - email: $NPM_EMAIL - api_key: - secure: $NPM_API_KEY_SECURE - on: - tags: true - branch: master + - | + start_lint=$(date +%s) + npm run lint + duration_lint=$(echo "$(date +%s) - $start_lint" | bc) + echo $duration_lint + echo "${duration_lint}s" > lint-execution-time.log + + - | + start_build=$(date +%s) + npm run build + duration_build=$(echo "$(date +%s) - $start_build" | bc) + echo $duration_build + echo "${duration_build}s" > build-execution-time.log + + - | + start_test=$(date +%s) + npm run test:ci + duration_test=$(echo "$(date +%s) - $start_test" | bc) + echo $duration_test + echo "${duration_test}s" > test-execution-time.log + + +after_success: + - echo "post code coverage to seriesci" + - | + echo $(npx lcov-total coverage/lcov.info)% | xargs -I {} curl \ + --header "Authorization: Token ${SERIESCI_TOKEN}" \ + --data-urlencode value="{}" \ + --data sha="${TRAVIS_COMMIT}" \ + https://seriesci.com/api/repos/kopach/karma-sabarivka-reporter/coverage/combined + + - echo "post bundle size to seriesci" + - | + npm run build + du -sh dist/ | awk '{print $1}' | xargs -I {} curl \ + --header "Authorization: Token ${SERIESCI_TOKEN}" \ + --data-urlencode value="{}" \ + --data sha="${TRAVIS_COMMIT}" \ + https://seriesci.com/api/repos/kopach/karma-sabarivka-reporter/bundlesize/combined + + + - echo "post lint execution time to seriesci" + - | + cat lint-execution-time.log | xargs -I {} curl \ + --header "Authorization: Token ${SERIESCI_TOKEN}" \ + --data-urlencode value="{}" \ + --data sha="${TRAVIS_COMMIT}" \ + https://seriesci.com/api/repos/kopach/karma-sabarivka-reporter/lint-time/combined + + - echo "post build execution time to seriesci" + - | + cat build-execution-time.log | xargs -I {} curl \ + --header "Authorization: Token ${SERIESCI_TOKEN}" \ + --data-urlencode value="{}" \ + --data sha="${TRAVIS_COMMIT}" \ + https://seriesci.com/api/repos/kopach/karma-sabarivka-reporter/build-time/combined + + - echo "post test execution time to seriesci" + - | + cat test-execution-time.log | xargs -I {} curl \ + --header "Authorization: Token ${SERIESCI_TOKEN}" \ + --data-urlencode value="{}" \ + --data sha="${TRAVIS_COMMIT}" \ + https://seriesci.com/api/repos/kopach/karma-sabarivka-reporter/test-time/combined + + - echo "post number of dependencies to seriesci" + - | + (npm ls --depth=0 --prod --parseable --silent || true) | grep node_modules | wc -l | xargs -I {} curl \ + --header "Authorization: Token ${SERIESCI_TOKEN}" \ + --data-urlencode value="{}" \ + --data sha="${TRAVIS_COMMIT}" \ + https://seriesci.com/api/repos/kopach/karma-sabarivka-reporter/dependencies/combined \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c3e1993c..7aba767e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4308,9 +4308,9 @@ } }, "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", "dev": true }, "events": { @@ -4782,24 +4782,10 @@ } }, "follow-redirects": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.10.0.tgz", - "integrity": "sha512-4eyLK6s6lH32nOvLLwlIOnr9zrL8Sm+OvW4pVTJNoXeGzYIkHVf+pADQi+OJ0E67hiuSLezPVPyBcIZO50TmmQ==", - "dev": true, - "requires": { - "debug": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.0.tgz", + "integrity": "sha512-JgawlbfBQKjbKegPn8vUsvJqplE7KHJuhGO4yPcb+ZOIYKSr+xobMVlfRBToZwZUUxy7lFiKBdFNloz9ui368Q==", + "dev": true }, "for-in": { "version": "1.0.2", @@ -5948,9 +5934,9 @@ "dev": true }, "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", @@ -7318,6 +7304,12 @@ "invert-kv": "^1.0.0" } }, + "lcov-total": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lcov-total/-/lcov-total-1.0.3.tgz", + "integrity": "sha512-6S5Vo8K1ch+MfzVLSttqwyi5RNsEs9VpN7vUWIGqKXKkJj5cB4dKyahz0G5xMnIkQSzgWnOBFXD65klvXX/DAA==", + "dev": true + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", diff --git a/package.json b/package.json index 9bf097ac..fae7147f 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "karma-mocha": "1.3.0", "karma-sourcemap-loader": "0.3.7", "karma-webpack": "4.0.2", + "lcov-total": "1.0.3", "live-server": "1.2.1", "lockfix": "1.0.0", "make-dir-cli": "2.0.0",