diff --git a/.github/workflows/release-ruby.yml b/.github/workflows/release-ruby.yml index 435b3604..0fac0cca 100644 --- a/.github/workflows/release-ruby.yml +++ b/.github/workflows/release-ruby.yml @@ -22,7 +22,7 @@ jobs: - uses: ./.github/actions/prepare - uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3' + ruby-version: '3.4' bundler-cache: true working-directory: ruby - name: Publish ruby gem diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml index ee538ea5..502727d0 100644 --- a/.github/workflows/test-ruby.yml +++ b/.github/workflows/test-ruby.yml @@ -26,10 +26,10 @@ jobs: matrix: os: - ubuntu-latest - ruby: ['2.7', '3.0', '3.1', '3.2', '3.3'] + ruby: ['3.1', '3.2', '3.3', '3.4', '3.5'] include: - os: macos-latest - ruby: '3.3' + ruby: '3.4' steps: - uses: actions/checkout@v5 - uses: ./.github/actions/prepare diff --git a/CHANGELOG.md b/CHANGELOG.md index 9114be6a..16ab9864 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +### Changed +- [Ruby] Minimum ruby version is now 3.1+ (Bumped CI workflows also) ([#441](https://github.com/cucumber/html-formatter/pull/441)) +- Upgrade `cucumber-messages` to [30.0.0](https://github.com/cucumber/messages/releases/tag/v30.0.0) ## [21.15.1] - 2025-09-11 ### Fixed diff --git a/java/pom.xml b/java/pom.xml index 1cd14134..de572eec 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -51,7 +51,7 @@ io.cucumber messages - [18.0.0,30.0.0) + [18.0.0,31.0.0) diff --git a/ruby/cucumber-html-formatter.gemspec b/ruby/cucumber-html-formatter.gemspec index abf89452..ec70b8ad 100644 --- a/ruby/cucumber-html-formatter.gemspec +++ b/ruby/cucumber-html-formatter.gemspec @@ -12,8 +12,8 @@ Gem::Specification.new do |s| s.homepage = 'https://github.com/cucumber/html-formatter' s.platform = Gem::Platform::RUBY s.license = 'MIT' - s.required_ruby_version = '>= 2.6' - s.required_rubygems_version = '>= 3.0.3' + s.required_ruby_version = '>= 3.1' + s.required_rubygems_version = '>= 3.2.8' s.metadata = { 'bug_tracker_uri' => 'https://github.com/cucumber/html-formatter/issues', @@ -24,13 +24,13 @@ Gem::Specification.new do |s| 'source_code_uri' => 'https://github.com/cucumber/html-formatter' } - s.add_runtime_dependency 'cucumber-messages', '> 19', '< 28' + s.add_runtime_dependency 'cucumber-messages', '> 19', '< 31' - s.add_development_dependency 'rake', '~> 13.2' + s.add_development_dependency 'rake', '~> 13.3' s.add_development_dependency 'rspec', '~> 3.13' - s.add_development_dependency 'rubocop', '~> 1.71.0' + s.add_development_dependency 'rubocop', '~> 1.81.0' s.add_development_dependency 'rubocop-rake', '~> 0.6.0' - s.add_development_dependency 'rubocop-rspec', '~> 2.31.0' + s.add_development_dependency 'rubocop-rspec', '~> 3.7.0' s.executables = ['cucumber-html-formatter'] s.files = Dir['README.md', 'LICENSE', 'lib/**/*', 'assets/*'] diff --git a/ruby/lib/cucumber/html_formatter/formatter.rb b/ruby/lib/cucumber/html_formatter/formatter.rb index 3d7243aa..77a77073 100644 --- a/ruby/lib/cucumber/html_formatter/formatter.rb +++ b/ruby/lib/cucumber/html_formatter/formatter.rb @@ -25,7 +25,7 @@ def write_message(message) out.puts(',') unless @first_message # Replace < with \x3C # https://html.spec.whatwg.org/multipage/scripting.html#restrictions-for-contents-of-script-elements - out.print(message.to_json.gsub('<', "\\x3C")) + out.print(message.to_json.gsub('<', '\\x3C')) @first_message = false end @@ -53,7 +53,7 @@ def pre_message AssetsLoader.css, template_writer.write_between('{{css}}', '{{custom_css}}'), template_writer.write_between('{{custom_css}}', '{{messages}}') - ].join("") + ].join('') end def post_message @@ -62,7 +62,7 @@ def post_message AssetsLoader.script, template_writer.write_between('{{script}}', '{{custom_script}}'), template_writer.write_between('{{custom_script}}', nil) - ].join("") + ].join('') end def template_writer diff --git a/ruby/spec/cucumber/html_formatter/formatter_spec.rb b/ruby/spec/cucumber/html_formatter/formatter_spec.rb index 8919ec5d..458e2b7f 100644 --- a/ruby/spec/cucumber/html_formatter/formatter_spec.rb +++ b/ruby/spec/cucumber/html_formatter/formatter_spec.rb @@ -103,7 +103,7 @@ expect(out.string).to match(/\A\s?\Z/) - + end it 'writes an empty report' do @@ -115,6 +115,6 @@ expect(out.string).to match(/\A\s?\Z/) - + end end