浏览代码

Internal: We decided to drop codecov and continue to use coveralls.

Marek Lewandowski 5 年之前
父节点
当前提交
b7e9d6672c
共有 3 个文件被更改,包括 95 次插入81 次删除
  1. 0 2
      package.json
  2. 0 79
      scripts/codecov-run-tests.sh
  3. 95 0
      scripts/continuous-integration-run-tests.sh

+ 0 - 2
package.json

@@ -88,7 +88,6 @@
     "@ckeditor/ckeditor5-track-changes": "^18.0.0",
     "@wiris/mathtype-ckeditor5": "^7.19.0",
     "babel-standalone": "^6.26.0",
-    "codecov": "^3.6.5",
     "css-loader": "^1.0.0",
     "eslint": "^5.5.0",
     "eslint-config-ckeditor5": "^2.0.0",
@@ -99,7 +98,6 @@
     "mini-css-extract-plugin": "^0.4.0",
     "minimatch": "^3.0.4",
     "mrgit": "^1.0.0",
-    "nyc": "^15.0.1",
     "postcss-loader": "^3.0.0",
     "progress-bar-webpack-plugin": "^1.12.1",
     "raw-loader": "^3.1.0",

+ 0 - 79
scripts/codecov-run-tests.sh

@@ -1,79 +0,0 @@
-#!/bin/bash
-
-# @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
-# For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
-
-packages=$(ls packages -1 | sed -e 's#^ckeditor5\?-\(.\+\)$#\1#')
-
-errorOccured=0
-
-rm -r -f _coverage
-mkdir _coverage
-rm -r -f .nyc_output
-mkdir .nyc_output
-
-failedTestsPackages=""
-failedCoveragePackages=""
-
-RED='\033[0;31m'
-GREEN='\033[0;32m'
-NC='\033[0m'
-
-for package in $packages; do
-
-  echo -e "Running tests for: ${GREEN}$package${NC}"
-
-  # Ignoring stdout for readability. Stderro is ignored too, because we get regular "(node:14303) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead".
-  testsOutput=$(yarn run test -f $package --reporter=dots --production --coverage 2>&1 /dev/null)
-
-  if [ "$?" -ne "0" ]; then
-    echo "$testsOutput"
-    echo
-
-    echo -e "💥 ${RED}$package${NC} failed to pass unit tests 💥"
-    failedTestsPackages="$failedTestsPackages $package"
-    errorOccured=1
-  fi
-
-  mkdir _coverage/$package
-
-  cp coverage/*/coverage-final.json .nyc_output
-
-  # Keep a copy that will be used for merging to make a combined report.
-  cp .nyc_output/coverage-final.json _coverage/coverage-$package.json
-
-  npx nyc check-coverage --branches 100 --functions 100 --lines 100 --statements 100
-
-  if [ "$?" -ne "0" ]; then
-    echo -e "💥 ${RED}$package${NC} doesn't have required code coverage 💥"
-    failedCoveragePackages="$failedCoveragePackages $package"
-    errorOccured=1
-  fi
-done;
-
-echo "Creating a combined code coverage report"
-
-# Combined file will be used for full coverage (as if yarn run test -c was run).
-npx nyc merge _coverage .nyc_output/coverage-final.json
-
-# You could attempt to check-coverage here too, but since each subpackage had a correct CC there's no point in doing this
-# for combined result.
-
-codecov -f .nyc_output/coverage-final.json
-
-if [ "$errorOccured" -eq "1" ]; then
-  echo
-  echo "---"
-  echo
-
-  if ! [[ -z $failedTestsPackages ]]; then
-    echo -e "Following packages did not pass unit tests:${RED}$failedTestsPackages${NC}"
-  fi
-
-  if ! [[ -z $failedCoveragePackages ]]; then
-    echo -e "Following packages did not provide required code coverage:${RED}$failedCoveragePackages${NC}"
-  fi
-
-  echo
-  exit 1 # Will break the CI build
-fi

+ 95 - 0
scripts/continuous-integration-run-tests.sh

@@ -0,0 +1,95 @@
+#!/bin/bash
+
+# @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
+# For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+
+packages=$(ls packages -1 | sed -e 's#^ckeditor5\?-\(.\+\)$#\1#')
+
+errorOccured=0
+
+failedTestsPackages=""
+failedCoveragePackages=""
+
+RED='\033[0;31m'
+NC='\033[0m'
+
+# Travis functions inspired by https://github.com/travis-ci/travis-rubies/blob/a10ba31e3f508650204017332a608ef9bce2c733/build.sh.
+function travis_nanoseconds() {
+  local cmd="date"
+  local format="+%s%N"
+  local os=$(uname)
+
+  if hash gdate > /dev/null 2>&1; then
+    cmd="gdate" # use gdate if available
+  elif [[ "$os" = Darwin ]]; then
+    format="+%s000000000" # fallback to second precision on darwin (does not support %N)
+  fi
+
+  $cmd -u $format
+}
+
+travis_time_start() {
+  travis_timer_id=$(printf %08x $(( RANDOM * RANDOM )))
+  travis_start_time=$(travis_nanoseconds)
+  echo -en "travis_time:start:$travis_timer_id\r${ANSI_CLEAR}"
+}
+
+travis_time_finish() {
+  local result=$?
+  travis_end_time=$(travis_nanoseconds)
+  local duration=$(($travis_end_time-$travis_start_time))
+  echo -en "\ntravis_time:end:$travis_timer_id:start=$travis_start_time,finish=$travis_end_time,duration=$duration\r${ANSI_CLEAR}"
+  return $result
+}
+
+
+fold_start() {
+  echo -e "travis_fold:start:$1\033[33;1m$2\033[0m"
+  travis_time_start
+}
+
+fold_end() {
+  travis_time_finish
+  echo -e "\ntravis_fold:end:$1\n"
+
+}
+
+for package in $packages; do
+
+  fold_start "pkg-$package" "Testing $package${NC}"
+
+  yarn run test -f $package --reporter=dots --production --coverage
+
+  if [ "$?" -ne "0" ]; then
+    echo
+
+    echo -e "💥 ${RED}$package${NC} failed to pass unit tests 💥"
+    failedTestsPackages="$failedTestsPackages $package"
+    errorOccured=1
+  fi
+
+  if [ "$?" -ne "0" ]; then
+    echo -e "💥 ${RED}$package${NC} doesn't have required code coverage 💥"
+    failedCoveragePackages="$failedCoveragePackages $package"
+    errorOccured=1
+  fi
+
+  fold_end "pkg-$package"
+done;
+
+if [ "$errorOccured" -eq "1" ]; then
+  echo
+  echo "---"
+  echo
+
+  if ! [[ -z $failedTestsPackages ]]; then
+    echo -e "Following packages did not pass unit tests:${RED}$failedTestsPackages${NC}"
+  fi
+
+  if ! [[ -z $failedCoveragePackages ]]; then
+    echo -e "Following packages did not provide required code coverage:${RED}$failedCoveragePackages${NC}"
+  fi
+
+  echo
+  exit 1 # Will break the CI build
+fi