Skip to content

Commit aa3adb0

Browse files
authored
Merge pull request #274 from puppetlabs/pdksync_"cat-1618-add_code_cov"
pdksync - "(CAT-1618) - Add code coverage to ci"
2 parents 699e3cf + ddb24b4 commit aa3adb0

File tree

4 files changed

+45
-2
lines changed

4 files changed

+45
-2
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
- "main"
77
workflow_dispatch:
88

9+
env:
10+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
11+
912
jobs:
1013
spec:
1114
strategy:
@@ -23,6 +26,7 @@ jobs:
2326
uses: "puppetlabs/cat-github-actions/.github/workflows/gem_ci.yml@main"
2427
secrets: "inherit"
2528
with:
29+
rake_task: "spec:coverage"
2630
ruby_version: ${{ matrix.ruby_version }}
2731
puppet_gem_version: ${{ matrix.puppet_version }}
2832

Gemfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,18 @@ group :development do
2525
gem "metadata-json-lint", '~> 3.0', require: false
2626
gem "puppetlabs_spec_helper", '~> 6.0', require: false
2727
gem "rspec-puppet-facts", '~> 2.0', require: false
28-
gem "codecov", '~> 0.2', require: false
2928
gem "dependency_checker", '~> 1.0.0', require: false
3029
gem "parallel_tests", '= 3.12.1', require: false
3130
gem "pry", '~> 0.10', require: false
32-
gem "simplecov-console", '~> 0.5', require: false
3331
gem "puppet-debugger", '~> 1.0', require: false
3432
gem "rubocop", '= 1.48.1', require: false
3533
gem "rubocop-performance", '= 1.16.0', require: false
3634
gem "rubocop-rspec", '= 2.19.0', require: false
3735
gem "puppet-strings", '~> 4.0', require: false
3836
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
37+
gem 'codecov', '~> 0.6.0', require: false
38+
gem 'simplecov', '~> 0.21.0', require: false
39+
gem 'simplecov-console', '~> 0.9.0', require: false
3940
end
4041
group :system_tests do
4142
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw]

Rakefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ RSpec::Core::RakeTask.new(:spec) do |t|
1313
end
1414
task default: :spec
1515

16+
namespace :spec do
17+
desc 'Run RSpec code examples with coverage collection'
18+
task :coverage do
19+
ENV['COVERAGE'] = 'yes'
20+
Rake::Task['spec'].execute
21+
end
22+
end
23+
1624
YARD::Rake::YardocTask.new do |t|
1725
end
1826
# Used in vendor_dsc_module

spec/spec_helper.rb

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,35 @@
11
# frozen_string_literal: true
22

3+
if ENV['COVERAGE'] == 'yes'
4+
begin
5+
require 'simplecov'
6+
require 'simplecov-console'
7+
8+
SimpleCov.formatters = [
9+
SimpleCov::Formatter::HTMLFormatter,
10+
SimpleCov::Formatter::Console
11+
]
12+
13+
if ENV['CI'] == 'true'
14+
require 'codecov'
15+
SimpleCov.formatters << SimpleCov::Formatter::Codecov
16+
end
17+
18+
SimpleCov.start do
19+
track_files 'lib/**/*.rb'
20+
21+
add_filter '/spec'
22+
add_filter 'lib/pwsh/version.rb'
23+
24+
# do not track vendored files
25+
add_filter '/vendor'
26+
add_filter '/.vendor'
27+
end
28+
rescue LoadError
29+
raise 'Add the simplecov, simplecov-console, codecov gems to Gemfile to enable this task'
30+
end
31+
end
32+
333
require 'bundler/setup'
434
require 'ruby-pwsh'
535

0 commit comments

Comments
 (0)