From b69f0df6c5cc2863a537d3e851f81441dcbc32d4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Dec 2025 16:48:30 +0000 Subject: [PATCH 1/4] Initial plan From 6dd4d25ca207cf55f1f81425bb6b3783d0fc2f1b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Dec 2025 17:12:22 +0000 Subject: [PATCH 2/4] Add Codacy code coverage reporting with simplecov-cobertura Co-authored-by: addersuk <131964+addersuk@users.noreply.github.com> --- .github/workflows/ruby.yml | 7 +++++++ test/test_coverage.rb | 8 +++++++- twiglet.gemspec | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index def4dc2..758e346 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -6,6 +6,7 @@ on: env: CI: true + CODACY_PROJECT_NAME: twiglet-ruby permissions: contents: read @@ -36,3 +37,9 @@ jobs: - name: Run example_app run: bundle exec ruby example_app.rb shell: bash + - name: Upload coverage to Codacy + if: matrix.ruby-version == '3.4' + env: + CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }} + run: bash <(curl -Ls https://coverage.codacy.com/get.sh) report -r coverage/coverage.xml + shell: bash diff --git a/test/test_coverage.rb b/test/test_coverage.rb index 82c412a..2e9daf3 100644 --- a/test/test_coverage.rb +++ b/test/test_coverage.rb @@ -1,11 +1,17 @@ require 'simplecov' +require 'simplecov-cobertura' SimpleCov.start do add_filter "/test/" add_filter "examples/rack/request_logger_test.rb" if ENV['CI'] - formatter SimpleCov::Formatter::SimpleFormatter + formatter SimpleCov::Formatter::MultiFormatter.new( + [ + SimpleCov::Formatter::SimpleFormatter, + SimpleCov::Formatter::CoberturaFormatter + ] + ) else formatter SimpleCov::Formatter::MultiFormatter.new( [ diff --git a/twiglet.gemspec b/twiglet.gemspec index 0ebd65c..0263228 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -32,6 +32,8 @@ Gem::Specification.new do |gem| gem.add_dependency 'json-schema' gem.add_development_dependency 'minitest' gem.add_development_dependency 'rake' + gem.add_development_dependency 'rexml', '~> 3.2.0' gem.add_development_dependency 'simplecov', '0.17.1' + gem.add_development_dependency 'simplecov-cobertura' gem.add_development_dependency 'simplycop' end From 9a133cd335c57b43585ae8744426efb1912cb49f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Dec 2025 17:15:59 +0000 Subject: [PATCH 3/4] Add version constraints and update rexml to non-vulnerable version Co-authored-by: addersuk <131964+addersuk@users.noreply.github.com> --- twiglet.gemspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/twiglet.gemspec b/twiglet.gemspec index 0263228..47332ff 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -32,8 +32,8 @@ Gem::Specification.new do |gem| gem.add_dependency 'json-schema' gem.add_development_dependency 'minitest' gem.add_development_dependency 'rake' - gem.add_development_dependency 'rexml', '~> 3.2.0' + gem.add_development_dependency 'rexml', '~> 3.3.6' gem.add_development_dependency 'simplecov', '0.17.1' - gem.add_development_dependency 'simplecov-cobertura' + gem.add_development_dependency 'simplecov-cobertura', '~> 1.4' gem.add_development_dependency 'simplycop' end From d369d4d9973e910067e81902d827ea629db1b044 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 4 Dec 2025 17:18:29 +0000 Subject: [PATCH 4/4] Add continue-on-error to Codacy upload step to prevent blocking CI Co-authored-by: addersuk <131964+addersuk@users.noreply.github.com> --- .github/workflows/ruby.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 758e346..a58cefc 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -39,6 +39,7 @@ jobs: shell: bash - name: Upload coverage to Codacy if: matrix.ruby-version == '3.4' + continue-on-error: true env: CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }} run: bash <(curl -Ls https://coverage.codacy.com/get.sh) report -r coverage/coverage.xml