diff --git a/.github/workflows/gem-publish.yml b/.github/workflows/gem-publish.yml index 0a1672a..f146639 100644 --- a/.github/workflows/gem-publish.yml +++ b/.github/workflows/gem-publish.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - ruby-version: [3.2, 3.3, 3.4] + ruby-version: [3.2, 3.3, 3.4, 4.0] steps: - uses: actions/checkout@v6 - name: Set up Ruby diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 498fd9a..bdf4c67 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [3.2, 3.3, 3.4] + ruby-version: [3.2, 3.3, 3.4, 4.0] steps: - uses: actions/checkout@v6 diff --git a/Gemfile b/Gemfile index 7f4f5e9..4a659b9 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,7 @@ source 'https://rubygems.org' +# Explicitly require these gems for Ruby 4.0 compatibility +gem 'minitest', '>= 5.0' + gemspec diff --git a/docs/TRUSTED_PUBLISHING.md b/docs/TRUSTED_PUBLISHING.md index f42ba52..8e6c619 100644 --- a/docs/TRUSTED_PUBLISHING.md +++ b/docs/TRUSTED_PUBLISHING.md @@ -5,7 +5,7 @@ This repository now uses RubyGems trusted publishing via GitHub Actions OIDC tok ## How it works 1. **Automated Publishing**: When code is pushed to the `master` branch, the workflow automatically: - - Runs the full test suite across multiple Ruby versions (3.1, 3.2, 3.3, 3.4) + - Runs the full test suite across multiple Ruby versions (3.1, 3.2, 3.3, 3.4, 4.0) - Builds the gem if tests pass - Publishes to RubyGems using OIDC token authentication - Creates a GitHub release diff --git a/lib/twiglet/version.rb b/lib/twiglet/version.rb index 3fff3ed..7aa6673 100644 --- a/lib/twiglet/version.rb +++ b/lib/twiglet/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Twiglet - VERSION = '3.15.0' + VERSION = '3.16.0' end diff --git a/twiglet.gemspec b/twiglet.gemspec index d83e839..0e02af2 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -25,12 +25,14 @@ Gem::Specification.new do |gem| gem.files = Dir.glob(['lib/**/*', 'LICENSE', 'README.md']).reject { |f| File.directory?(f) } gem.require_paths = ['lib'] - gem.required_ruby_version = ['>= 3.2 ', '< 3.5'] + gem.required_ruby_version = ['>= 3.2 ', '< 4.1'] gem.license = 'MIT' gem.add_dependency 'json-schema' - gem.add_development_dependency 'minitest' + gem.add_development_dependency 'benchmark' + gem.add_development_dependency 'cgi' + gem.add_development_dependency 'minitest', '>= 5.0' gem.add_development_dependency 'minitest-mock' gem.add_development_dependency 'rake' gem.add_development_dependency 'rbs'