diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 95633f4..302e582 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,12 +16,9 @@ jobs: strategy: fail-fast: false matrix: - ruby: ['3.2', '3.3', '3.4'] - rails: ['7.1.0', '7.2.0', '8.0.0'] + ruby: ['3.3', '3.4', '4.0'] + rails: ['8.0.0', '8.1.0'] activeadmin: ['3.2.0', '3.3.0', '3.4.0', '3.5.0'] - exclude: - - rails: '8.0.0' - activeadmin: '3.2.0' env: RAILS: ${{ matrix.rails }} AA: ${{ matrix.activeadmin }} @@ -35,7 +32,7 @@ jobs: run: bundle exec rspec spec - name: Generate badge.json - if: matrix.ruby == '3.4' && matrix.rails == '8.0.0' && matrix.activeadmin == '3.5.0' + if: matrix.ruby == '4.0' && matrix.rails == '8.1.0' && matrix.activeadmin == '3.5.0' run: | LAST_RUN="coverage/.last_run.json" if [ ! -f "$LAST_RUN" ]; then @@ -53,7 +50,7 @@ jobs: echo "{\"schemaVersion\":1,\"label\":\"coverage\",\"message\":\"${PERCENT}%\",\"color\":\"${COLOR}\"}" > badge/badge.json - name: Upload badge artifact - if: matrix.ruby == '3.4' && matrix.rails == '8.0.0' && matrix.activeadmin == '3.5.0' + if: matrix.ruby == '4.0' && matrix.rails == '8.1.0' && matrix.activeadmin == '3.5.0' uses: actions/upload-artifact@v4 with: name: coverage-badge diff --git a/active_admin_sidebar.gemspec b/active_admin_sidebar.gemspec index 3ea52d9..0fee26b 100644 --- a/active_admin_sidebar.gemspec +++ b/active_admin_sidebar.gemspec @@ -11,7 +11,7 @@ Gem::Specification.new do |s| s.description = %q{extension for activeadmin gem to manage sidebar} s.license = "MIT" - s.required_ruby_version = '>= 3.1.0' + s.required_ruby_version = '>= 3.3' # Whitelist, not a reject list: a new directory in the repo does not # reach consumers until it is named here. The reject form needs a new diff --git a/tasks/test.rake b/tasks/test.rake index f46bf45..e72bb7f 100644 --- a/tasks/test.rake +++ b/tasks/test.rake @@ -2,10 +2,16 @@ desc "Creates a test rails app for the specs to run against" task :setup do require 'rails/version' + # --skip-javascript: the dummy app's own Gemfile is discarded (see + # rails_template.rb) and the app boots under this gem's sprockets bundle, so + # importmap-rails is never available. Rails 8.1 otherwise generates + # `stale_when_importmap_changes` in ApplicationController and the app fails + # to boot with a NameError. rails_new_opts = %w( --skip-turbolinks --skip-spring --skip-bootsnap + --skip-javascript -m spec/support/rails_template.rb )