Skip to content

Upgrade kramdown_rpf ruby version and deps#64

Merged
patch0 merged 9 commits intomainfrom
upgrade-kramdown
Feb 13, 2026
Merged

Upgrade kramdown_rpf ruby version and deps#64
patch0 merged 9 commits intomainfrom
upgrade-kramdown

Conversation

@patch0
Copy link
Contributor

@patch0 patch0 commented Feb 12, 2026

This is a general update of Kramdown RPF:

  • Move Ruby version to 3.2+
  • Update Kramdown version to 2.5+, and add in the GFM (github-flavoured-markdown) dependency explicitly.
  • Adjust some tests so they don't define constants all over the place
  • Update Rubocop config to use our house styles

@patch0 patch0 marked this pull request as ready for review February 13, 2026 09:21
Copilot AI review requested due to automatic review settings February 13, 2026 09:21
@patch0 patch0 self-assigned this Feb 13, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the kramdown_rpf gem by upgrading Ruby and dependency requirements, refactoring tests to follow RSpec best practices, and adopting the Raspberry Pi Foundation's centralized code style configuration.

Changes:

  • Upgraded Ruby requirement from unspecified to >= 3.2.0
  • Updated kramdown from ~> 1.2 to ~> 2.5 and added kramdown-parser-gfm dependency explicitly
  • Refactored test files to eliminate constants in favor of let blocks and replaced before(:all) with before
  • Moved development dependencies from gemspec to Gemfile following modern gem conventions
  • Adopted RPF Digital Products team's centralized RuboCop configuration via remote URLs

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
kramdown_rpf.gemspec Updated Ruby version requirement, upgraded kramdown to 2.5+, added kramdown-parser-gfm, removed version pins from i18n and rexml, moved dev dependencies to Gemfile, updated team name
Gemfile Moved development dependencies (rake, rspec, rubocop suite) from gemspec to development group
lib/kramdown_rpf.rb Removed redundant kramdown require (now loaded via kramdown_rpf/kramdown.rb)
lib/kramdown_rpf/kramdown.rb Added explicit require for kramdown/parser/gfm to support kramdown 2.x
spec/kramdown_rpf_spec.rb Refactored tests: converted KRAMDOWN_OPTIONS constant to inline options, changed conversion_tests from constant to local variable, restructured test using subject and let, changed be nil to be_nil, updated test descriptions
spec/i18n_spec.rb Converted KRAMDOWN_OPTIONS constant to let block, changed constants to local variables, replaced before(:all) with before, updated test descriptions
spec/errors_spec.rb Converted KRAMDOWN_OPTIONS constant to let block, moved I18n setup to before block, updated test descriptions
spec/spec_helper.rb Removed byebug require (no longer a development dependency)
.rubocop.yml Configured to inherit from RPF Digital Products team's remote style configs (base, performance, rspec)
.rubocop_todo.yml Regenerated to reflect resolved offenses from test refactoring (removed Lint/ConstantDefinitionInBlock, Gemspec violations, BlockLength, MethodLength, and Style/Documentation issues)
.gitignore Added /vendor/ directory and .rubocop-http* files for downloaded remote configs
.github/workflows/ci.yml Added trigger for version tags (v*) and fixed indentation of GitHub Release creation step

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@jamdelion jamdelion left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine to me!

@patch0 patch0 merged commit 15e8770 into main Feb 13, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants