Skip to content

Commit 2367e53

Browse files
authored
Refactor/minimum ruby bump (#441)
* AF: Layout/TrailingWhiteSpace * Bump minimum version of gems and ruby version * Update CI workflows * AF: String Literals * Unhook top end messages requirement * Permit slightly higher version of messages in java * Add note for messages upgrade
1 parent 0d3eba0 commit 2367e53

File tree

7 files changed

+18
-15
lines changed

7 files changed

+18
-15
lines changed

.github/workflows/release-ruby.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- uses: ./.github/actions/prepare
2323
- uses: ruby/setup-ruby@v1
2424
with:
25-
ruby-version: '3.3'
25+
ruby-version: '3.4'
2626
bundler-cache: true
2727
working-directory: ruby
2828
- name: Publish ruby gem

.github/workflows/test-ruby.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ jobs:
2626
matrix:
2727
os:
2828
- ubuntu-latest
29-
ruby: ['2.7', '3.0', '3.1', '3.2', '3.3']
29+
ruby: ['3.1', '3.2', '3.3', '3.4', '3.5']
3030
include:
3131
- os: macos-latest
32-
ruby: '3.3'
32+
ruby: '3.4'
3333
steps:
3434
- uses: actions/checkout@v5
3535
- uses: ./.github/actions/prepare

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased]
9+
### Changed
10+
- [Ruby] Minimum ruby version is now 3.1+ (Bumped CI workflows also) ([#441](https://github.com/cucumber/html-formatter/pull/441))
11+
- Upgrade `cucumber-messages` to [30.0.0](https://github.com/cucumber/messages/releases/tag/v30.0.0)
912

1013
## [21.15.1] - 2025-09-11
1114
### Fixed

java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<dependency>
5252
<groupId>io.cucumber</groupId>
5353
<artifactId>messages</artifactId>
54-
<version>[18.0.0,30.0.0)</version>
54+
<version>[18.0.0,31.0.0)</version>
5555
</dependency>
5656

5757
<dependency>

ruby/cucumber-html-formatter.gemspec

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
1212
s.homepage = 'https://github.com/cucumber/html-formatter'
1313
s.platform = Gem::Platform::RUBY
1414
s.license = 'MIT'
15-
s.required_ruby_version = '>= 2.6'
16-
s.required_rubygems_version = '>= 3.0.3'
15+
s.required_ruby_version = '>= 3.1'
16+
s.required_rubygems_version = '>= 3.2.8'
1717

1818
s.metadata = {
1919
'bug_tracker_uri' => 'https://github.com/cucumber/html-formatter/issues',
@@ -24,13 +24,13 @@ Gem::Specification.new do |s|
2424
'source_code_uri' => 'https://github.com/cucumber/html-formatter'
2525
}
2626

27-
s.add_runtime_dependency 'cucumber-messages', '> 19', '< 28'
27+
s.add_runtime_dependency 'cucumber-messages', '> 19', '< 31'
2828

29-
s.add_development_dependency 'rake', '~> 13.2'
29+
s.add_development_dependency 'rake', '~> 13.3'
3030
s.add_development_dependency 'rspec', '~> 3.13'
31-
s.add_development_dependency 'rubocop', '~> 1.71.0'
31+
s.add_development_dependency 'rubocop', '~> 1.81.0'
3232
s.add_development_dependency 'rubocop-rake', '~> 0.6.0'
33-
s.add_development_dependency 'rubocop-rspec', '~> 2.31.0'
33+
s.add_development_dependency 'rubocop-rspec', '~> 3.7.0'
3434

3535
s.executables = ['cucumber-html-formatter']
3636
s.files = Dir['README.md', 'LICENSE', 'lib/**/*', 'assets/*']

ruby/lib/cucumber/html_formatter/formatter.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def write_message(message)
2525
out.puts(',') unless @first_message
2626
# Replace < with \x3C
2727
# https://html.spec.whatwg.org/multipage/scripting.html#restrictions-for-contents-of-script-elements
28-
out.print(message.to_json.gsub('<', "\\x3C"))
28+
out.print(message.to_json.gsub('<', '\\x3C'))
2929

3030
@first_message = false
3131
end
@@ -53,7 +53,7 @@ def pre_message
5353
AssetsLoader.css,
5454
template_writer.write_between('{{css}}', '{{custom_css}}'),
5555
template_writer.write_between('{{custom_css}}', '{{messages}}')
56-
].join("")
56+
].join('')
5757
end
5858

5959
def post_message
@@ -62,7 +62,7 @@ def post_message
6262
AssetsLoader.script,
6363
template_writer.write_between('{{script}}', '{{custom_script}}'),
6464
template_writer.write_between('{{custom_script}}', nil)
65-
].join("")
65+
].join('')
6666
end
6767

6868
def template_writer

ruby/spec/cucumber/html_formatter/formatter_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
expect(out.string).to match(/\A<!DOCTYPE html>\s?<html/)
104104
expect(out.string).to include("window.CUCUMBER_MESSAGES = [\n];")
105105
expect(out.string).to match(/<\/html>\Z/)
106-
106+
107107
end
108108

109109
it 'writes an empty report' do
@@ -115,6 +115,6 @@
115115
expect(out.string).to match(/\A<!DOCTYPE html>\s?<html/)
116116
expect(out.string).to include("window.CUCUMBER_MESSAGES = [\n{\"testRunStarted\":{\"timestamp\":{\"seconds\":10,\"nanos\":0}}},\n{\"testRunFinished\":{\"success\":false,\"timestamp\":{\"seconds\":15,\"nanos\":0}}}];")
117117
expect(out.string).to match(/<\/html>\Z/)
118-
118+
119119
end
120120
end

0 commit comments

Comments
 (0)