diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9d13d68..65c4042 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,12 +26,12 @@ jobs: settings: '${{ github.repository }}' target: ci/gem-test - - name: Install Ruby 3.3 + - name: Install Ruby 4.0 uses: ruby/setup-ruby@v1 with: - ruby-version: 3.3 + ruby-version: 4.0 bundler-cache: true - rubygems: '3.7.2' + rubygems: '4.0.11' - name: Switch to SSH remotes for the Git repository run: git-ssh-remotes diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 84cd2b9..fb969c9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,8 +18,8 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['3.3', '3.4', '4.0'] - rails: ['8.0', '8.1'] + ruby: ['4.0'] + rails: ['8.1'] env: BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile' steps: @@ -36,7 +36,7 @@ jobs: with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - rubygems: '3.7.2' + rubygems: '4.0.11' - name: Run the gem tests run: make test diff --git a/.rubocop.yml b/.rubocop.yml index 2a2be1c..108cb0d 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -17,8 +17,8 @@ AllCops: NewCops: enable SuggestExtensions: false DisplayCopNames: true - TargetRubyVersion: 3.3 - TargetRailsVersion: 8.0 + TargetRubyVersion: 4.0 + TargetRailsVersion: 8.1 Exclude: - bin/**/* - vendor/**/* diff --git a/Appraisals b/Appraisals index a0e9742..dc6a422 100644 --- a/Appraisals +++ b/Appraisals @@ -1,9 +1,5 @@ # frozen_string_literal: true -appraise 'rails-8.0' do - gem 'activesupport', '~> 8.0.0' -end - appraise 'rails-8.1' do gem 'activesupport', '~> 8.1.0' end diff --git a/CHANGELOG.md b/CHANGELOG.md index db0d242..8593bb9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ ### next -* TODO: Replace this bullet point with an actual description of a change. +* Dropped Ruby 3.x and Rails <8.1 support (#26) ### 2.9.0 (18 February 2026) diff --git a/Dockerfile b/Dockerfile index 5deb6c3..2079178 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -FROM hausgold/ruby:3.3 +FROM hausgold/ruby:4.0 LABEL org.opencontainers.image.authors="containers@hausgold.de" # Update system gem -RUN gem update --system '3.7.2' +RUN gem update --system '4.0.11' # Install system packages and the latest bundler RUN apt-get update -yqqq && \ @@ -11,7 +11,7 @@ RUN apt-get update -yqqq && \ ca-certificates \ bash-completion inotify-tools && \ echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && /usr/sbin/locale-gen && \ - gem install bundler -v '~> 2.7.2' --no-document --no-prerelease + gem install bundler -v '~> 4.0.11' --no-document --no-prerelease # Add new web user RUN mkdir /app && \ diff --git a/Gemfile b/Gemfile index 18b96ea..3d34ad6 100644 --- a/Gemfile +++ b/Gemfile @@ -12,7 +12,7 @@ gem 'appraisal', '~> 2.4' gem 'bundler', '>= 2.6', '< 5' gem 'countless', '~> 2.2' gem 'guard-rspec', '~> 4.7' -gem 'railties', '>= 8.0' +gem 'railties', '>= 8.1' gem 'rake', '~> 13.0' gem 'rspec', '~> 3.12' gem 'rubocop' diff --git a/Makefile b/Makefile index ba1b9f0..5f86d20 100644 --- a/Makefile +++ b/Makefile @@ -118,7 +118,7 @@ test-style: \ test-style-ruby: # Run the static code analyzer (rubocop) @$(call run-shell,$(BUNDLE) exec $(RUBOCOP) -a \ - || ($(TEST) $$($(RUBY_VERSION)) != '3.3' && true)) + || ($(TEST) $$($(RUBY_VERSION)) != '4.0' && true)) clean: # Clean the dependencies diff --git a/gemfiles/rails_8.0.gemfile b/gemfiles/rails_8.0.gemfile deleted file mode 100644 index e10df56..0000000 --- a/gemfiles/rails_8.0.gemfile +++ /dev/null @@ -1,23 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "appraisal", "~> 2.4" -gem "bundler", ">= 2.6", "< 5" -gem "countless", "~> 2.2" -gem "guard-rspec", "~> 4.7" -gem "railties", ">= 8.0" -gem "rake", "~> 13.0" -gem "rspec", "~> 3.12" -gem "rubocop" -gem "rubocop-rails" -gem "rubocop-rspec" -gem "simplecov", ">= 0.22" -gem "timecop", ">= 0.9.6" -gem "vcr", "~> 6.0" -gem "webmock", "~> 3.18" -gem "yard", ">= 0.9.28" -gem "yard-activesupport-concern", ">= 0.0.1" -gem "activesupport", "~> 8.0.0" - -gemspec path: "../" diff --git a/gemfiles/rails_8.1.gemfile b/gemfiles/rails_8.1.gemfile index ff779e3..c2b31bb 100644 --- a/gemfiles/rails_8.1.gemfile +++ b/gemfiles/rails_8.1.gemfile @@ -6,7 +6,7 @@ gem "appraisal", "~> 2.4" gem "bundler", ">= 2.6", "< 5" gem "countless", "~> 2.2" gem "guard-rspec", "~> 4.7" -gem "railties", ">= 8.0" +gem "railties", ">= 8.1" gem "rake", "~> 13.0" gem "rspec", "~> 3.12" gem "rubocop" diff --git a/keyless.gemspec b/keyless.gemspec index 516c8d8..05931d5 100644 --- a/keyless.gemspec +++ b/keyless.gemspec @@ -33,9 +33,9 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.required_ruby_version = '>= 3.3' + spec.required_ruby_version = '>= 4.0' - spec.add_dependency 'activesupport', '>= 8.0' + spec.add_dependency 'activesupport', '>= 8.1' spec.add_dependency 'http', '~> 5.3' spec.add_dependency 'jwt', '>= 2.6' spec.add_dependency 'logger', '~> 1.7' diff --git a/spec/fixtures/files/gen.rb b/spec/fixtures/files/gen.rb index d474a8e..754e3af 100644 --- a/spec/fixtures/files/gen.rb +++ b/spec/fixtures/files/gen.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'openssl' -require 'pathname' root = Pathname.new(__dir__)