diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 282505cc..e96947ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,7 +23,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@477b21f02be01bcb8030d50f37cfec92bfa615b6 with: - ruby-version: 2.4 + ruby-version: 2.5 - name: Install dependencies run: bundle install @@ -35,6 +35,8 @@ jobs: working-directory: ./coverage run: | sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' .resultset.json + ruby -rjson -e 'sqube = JSON.load(File.read(".resultset.json"))["RSpec"]["coverage"].transform_values {|lines| lines["lines"]}; total = { "RSpec" => { "coverage" => sqube, "timestamp" => Time.now.to_i }}; puts JSON.dump(total)' > .resultset.sonarqube.json + - name: SonarQube Scan (Push) if: github.event_name == 'push' @@ -47,7 +49,7 @@ jobs: -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} -Dsonar.projectName=${{ github.event.repository.name }} -Dsonar.projectKey=${{ github.event.repository.name }} - -Dsonar.ruby.coverage.reportPaths='coverage/.resultset.json' + -Dsonar.ruby.coverage.reportPaths=coverage/.resultset.sonarqube.json -Dsonar.c.file.suffixes=- -Dsonar.cpp.file.suffixes=- -Dsonar.objc.file.suffixes=- @@ -65,7 +67,7 @@ jobs: -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} -Dsonar.projectName=${{ github.event.repository.name }} -Dsonar.projectKey=${{ github.event.repository.name }} - -Dsonar.ruby.coverage.reportPaths='coverage/.resultset.json' + -Dsonar.ruby.coverage.reportPaths=coverage/.resultset.sonarqube.json -Dsonar.c.file.suffixes=- -Dsonar.cpp.file.suffixes=- -Dsonar.objc.file.suffixes=- diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 8d9ec6af..ab3226a0 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -8,6 +8,8 @@ require 'pry' require 'webmock/rspec' +require 'simplecov-json' +SimpleCov.formatter = SimpleCov::Formatter::JSONFormatter WebMock.disable_net_connect! ENV['SPLITCLIENT_ENV'] ||= 'test' diff --git a/splitclient-rb.gemspec b/splitclient-rb.gemspec index f96e3d64..3c7aeb73 100644 --- a/splitclient-rb.gemspec +++ b/splitclient-rb.gemspec @@ -45,7 +45,8 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rake-compiler' spec.add_development_dependency 'rspec' spec.add_development_dependency 'rubocop', '0.59.0' - spec.add_development_dependency 'simplecov' + spec.add_development_dependency 'simplecov', '0.20.0' + spec.add_development_dependency 'simplecov-json' spec.add_development_dependency 'timecop' spec.add_development_dependency 'webmock'