From 1bc9dbc160fba3e1c60936e6c8e3f673af8a58dc Mon Sep 17 00:00:00 2001 From: James Couball Date: Tue, 1 Jul 2025 23:00:18 -0700 Subject: [PATCH] feat!: upgrade minimally supported Ruby to 3.2 Update the CI builds to build with MRI Ruby 3.2, 3.3, and 3.4; TruffleRuby 24.2.1; and JRuby 10.0.0.1. BREAKING CHANGE: Users will need to be on Ruby 3.2 or greater --- .github/workflows/continuous_integration.yml | 14 +++++++++++--- .../experimental_continuous_integration.yml | 9 +++++++++ git.gemspec | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 0e7cd259..3aed702e 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -22,18 +22,26 @@ jobs: fail-fast: false matrix: # Only the latest versions of JRuby and TruffleRuby are tested - ruby: ["3.1", "3.2", "3.3", "3.4", "truffleruby-24.1.2", "jruby-9.4.12.0"] + ruby: ["3.2", "3.3", "3.4", "truffleruby-24.2.1", "jruby-10.0.0.1"] operating-system: [ubuntu-latest] experimental: [No] + java_version: [""] include: - - # Only test with minimal Ruby version on Windows - ruby: 3.1 + - ruby: 3.2 operating-system: windows-latest + experimental: No steps: - name: Checkout Code uses: actions/checkout@v4 + - name: Setup Java + if: matrix.java_version != '' + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: ${{ matrix.java_version }} + - name: Setup Ruby uses: ruby/setup-ruby@v1 with: diff --git a/.github/workflows/experimental_continuous_integration.yml b/.github/workflows/experimental_continuous_integration.yml index b1256714..f9d08c46 100644 --- a/.github/workflows/experimental_continuous_integration.yml +++ b/.github/workflows/experimental_continuous_integration.yml @@ -27,16 +27,25 @@ jobs: ruby: head operating-system: ubuntu-latest experimental: Yes + java_version: "" - # Since JRuby on Windows is known to not work, consider this experimental ruby: jruby-head operating-system: windows-latest experimental: Yes + java_version: "21" steps: - name: Checkout Code uses: actions/checkout@v4 + - name: Setup Java + if: matrix.java_version != '' + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: ${{ matrix.java_version }} + - name: Setup Ruby uses: ruby/setup-ruby@v1 with: diff --git a/git.gemspec b/git.gemspec index f8c49bdc..e62b562b 100644 --- a/git.gemspec +++ b/git.gemspec @@ -24,7 +24,7 @@ Gem::Specification.new do |s| s.metadata['documentation_uri'] = "https://rubydoc.info/gems/#{s.name}/#{s.version}" s.require_paths = ['lib'] - s.required_ruby_version = '>= 3.0.0' + s.required_ruby_version = '>= 3.2.0' s.requirements = ['git 2.28.0 or greater'] s.add_runtime_dependency 'activesupport', '>= 5.0'