From 5e1ac6275ffa292fe7f6b8b5b74d92b99385d7d5 Mon Sep 17 00:00:00 2001 From: winniehell Date: Fri, 1 Jul 2016 17:29:25 +0200 Subject: Add test coverage analysis for CoffeeScript (!5052) --- .gitignore | 1 + .gitlab-ci.yml | 10 ++++++++++ spec/teaspoon_env.rb | 8 ++++---- 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. -- cgit v1.2.1