summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwinniehell <git@winniehell.de>2016-07-01 17:29:25 +0200
committerwinniehell <git@winniehell.de>2016-08-07 21:52:37 +0200
commit5e1ac6275ffa292fe7f6b8b5b74d92b99385d7d5 (patch)
tree1cfc3301714800fc89ae2fb0e8ed077d441b84cf
parent91030230545a199a86c2742600a7a2e68ef75c98 (diff)
downloadgitlab-ce-5e1ac6275ffa292fe7f6b8b5b74d92b99385d7d5.tar.gz
Add test coverage analysis for CoffeeScript (!5052)
-rw-r--r--.gitignore1
-rw-r--r--.gitlab-ci.yml10
-rw-r--r--spec/teaspoon_env.rb8
3 files changed, 15 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index ce6a363fe35..1bf9a47aef6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,7 @@
/config/secrets.yml
/config/sidekiq.yml
/coverage/*
+/coverage-javascript/
/db/*.sqlite3
/db/*.sqlite3-journal
/db/data.yml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8da9acf9066..5aff5078386 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -222,7 +222,15 @@ teaspoon:
stage: test
<<: *use-db
script:
+ - curl --silent --location https://deb.nodesource.com/setup_6.x | bash -
+ - apt-get install --assume-yes nodejs
+ - npm install --global istanbul
- teaspoon
+ artifacts:
+ name: coverage-javascript
+ expire_in: 31d
+ paths:
+ - coverage-javascript/default/
bundler:audit:
stage: test
@@ -269,10 +277,12 @@ pages:
stage: pages
dependencies:
- coverage
+ - teaspoon
script:
- mv public/ .public/
- mkdir public/
- mv coverage public/coverage-ruby
+ - mv coverage-javascript/default/ public/coverage-javascript/
artifacts:
paths:
- public
diff --git a/spec/teaspoon_env.rb b/spec/teaspoon_env.rb
index 1a3bbb9c8cc..5ea020f313c 100644
--- a/spec/teaspoon_env.rb
+++ b/spec/teaspoon_env.rb
@@ -149,7 +149,7 @@ Teaspoon.configure do |config|
# Specify that you always want a coverage configuration to be used. Otherwise, specify that you want coverage
# on the CLI.
# Set this to "true" or the name of your coverage config.
- # config.use_coverage = nil
+ config.use_coverage = true
# You can have multiple coverage configs by passing a name to config.coverage.
# e.g. config.coverage :ci do |coverage|
@@ -158,15 +158,15 @@ Teaspoon.configure do |config|
# Which coverage reports Istanbul should generate. Correlates directly to what Istanbul supports.
#
# Available: text-summary, text, html, lcov, lcovonly, cobertura, teamcity
- # coverage.reports = ["text-summary", "html"]
+ coverage.reports = ["text-summary", "html"]
# The path that the coverage should be written to - when there's an artifact to write to disk.
# Note: Relative to `config.root`.
- # coverage.output_path = "coverage"
+ coverage.output_path = "coverage-javascript"
# Assets to be ignored when generating coverage reports. Accepts an array of filenames or regular expressions. The
# default excludes assets from vendor, gems and support libraries.
- # coverage.ignore = [%r{/lib/ruby/gems/}, %r{/vendor/assets/}, %r{/support/}, %r{/(.+)_helper.}]
+ coverage.ignore = [%r{vendor/}, %r{spec/}]
# Various thresholds requirements can be defined, and those thresholds will be checked at the end of a run. If any
# aren't met the run will fail with a message. Thresholds can be defined as a percentage (0-100), or nil.