From c907f052bc36d15b66a229c63b7642676afcafef Mon Sep 17 00:00:00 2001 From: Stephen Ierodiaconou Date: Mon, 29 Apr 2024 17:40:59 +0200 Subject: [PATCH] Port to Appraisals and update test matrix --- .github/workflows/main.yml | 7 +- Appraisals | 14 ++++ encoded_id-rails.gemspec | 1 + gemfiles/.bundle/config | 2 + gemfiles/rails_6.0.gemfile | 11 --- gemfiles/rails_6.1.gemfile | 16 ++++ gemfiles/rails_6.1.gemfile.lock | 130 +++++++++++++++++++++++++++++ gemfiles/rails_7.0.gemfile | 15 ++-- gemfiles/rails_7.0.gemfile.lock | 128 +++++++++++++++++++++++++++++ gemfiles/rails_7.1.gemfile | 16 ++++ gemfiles/rails_7.1.gemfile.lock | 140 ++++++++++++++++++++++++++++++++ 11 files changed, 460 insertions(+), 20 deletions(-) create mode 100644 Appraisals create mode 100644 gemfiles/.bundle/config delete mode 100644 gemfiles/rails_6.0.gemfile create mode 100644 gemfiles/rails_6.1.gemfile create mode 100644 gemfiles/rails_6.1.gemfile.lock create mode 100644 gemfiles/rails_7.0.gemfile.lock create mode 100644 gemfiles/rails_7.1.gemfile create mode 100644 gemfiles/rails_7.1.gemfile.lock diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8fc5436..76433f1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: fail-fast: false matrix: ruby: [ "2.7", "3.0", "3.1", "3.2", "3.3" ] - rails: [ "6.0", "7.0", "7.1" ] + rails: [ "6.1", "7.0", "7.1" ] steps: - uses: actions/checkout@v3 - name: Set up Ruby @@ -21,8 +21,7 @@ jobs: env: MATRIX_RAILS_VERSION: ${{ matrix.rails }} run: | - export BUNDLE_GEMFILE="${GITHUB_WORKSPACE}/gemfiles/rails_${MATRIX_RAILS_VERSION}.gemfile" gem install bundler - bundle install --jobs 4 --retry 3 + bundle exec appraisal install --jobs 4 --retry 3 - name: Run test - run: bundle exec rake test + run: bundle exec appraisal rails_${MATRIX_RAILS_VERSION} rake test diff --git a/Appraisals b/Appraisals new file mode 100644 index 0000000..970d825 --- /dev/null +++ b/Appraisals @@ -0,0 +1,14 @@ +appraise "rails-6.1" do + gem "activesupport", "~> 6.1.7", ">= 6.1.0" + gem "activerecord", "~> 6.1.7", ">= 6.1.0" +end + +appraise "rails-7.0" do + gem "activesupport", "~> 7.0.4" + gem "activerecord", "~> 7.0.4" +end + +appraise "rails-7.1" do + gem "activesupport", "~> 7.1" + gem "activerecord", "~> 7.1" +end diff --git a/encoded_id-rails.gemspec b/encoded_id-rails.gemspec index e6c3fa4..ff49617 100644 --- a/encoded_id-rails.gemspec +++ b/encoded_id-rails.gemspec @@ -33,6 +33,7 @@ Gem::Specification.new do |spec| spec.add_dependency "activesupport", ">= 6.0", "< 8.0" spec.add_dependency "activerecord", ">= 6.0", "< 8.0" spec.add_dependency "encoded_id", "~> 1.0.0.rc3" + spec.add_development_dependency "appraisal" # For more information and examples about making a new gem, check out our # guide at: https://bundler.io/guides/creating_gem.html diff --git a/gemfiles/.bundle/config b/gemfiles/.bundle/config new file mode 100644 index 0000000..c127f80 --- /dev/null +++ b/gemfiles/.bundle/config @@ -0,0 +1,2 @@ +--- +BUNDLE_RETRY: "1" diff --git a/gemfiles/rails_6.0.gemfile b/gemfiles/rails_6.0.gemfile deleted file mode 100644 index 9970e93..0000000 --- a/gemfiles/rails_6.0.gemfile +++ /dev/null @@ -1,11 +0,0 @@ -source "https://rubygems.org" - -gem "sqlite3" -gem "activesupport", "~> 6.1.7", ">= 6.1.0" -gem "activerecord", "~> 6.1.7", ">= 6.1.0" -gem "rake", "~> 13.0" -gem "minitest", "~> 5.0" -gem "standard", "~> 1.3" -gem "steep", "~> 1.2" - -gemspec path: "../" diff --git a/gemfiles/rails_6.1.gemfile b/gemfiles/rails_6.1.gemfile new file mode 100644 index 0000000..18db18c --- /dev/null +++ b/gemfiles/rails_6.1.gemfile @@ -0,0 +1,16 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activesupport", "~> 6.1.7", ">= 6.1.0" +gem "activerecord", "~> 6.1.7", ">= 6.1.0" + +group :development, :test do + gem "rake", "~> 13.0" + gem "minitest", "~> 5.0" + gem "standard", "~> 1.30" + gem "steep", "~> 1.5" + gem "sqlite3", "~> 1.5" +end + +gemspec path: "../" diff --git a/gemfiles/rails_6.1.gemfile.lock b/gemfiles/rails_6.1.gemfile.lock new file mode 100644 index 0000000..8ff44c7 --- /dev/null +++ b/gemfiles/rails_6.1.gemfile.lock @@ -0,0 +1,130 @@ +PATH + remote: .. + specs: + encoded_id-rails (1.0.0.beta2) + activerecord (>= 6.0, < 8.0) + activesupport (>= 6.0, < 8.0) + encoded_id (~> 1.0.0.rc3) + +GEM + remote: https://rubygems.org/ + specs: + abbrev (0.1.2) + activemodel (6.1.7.7) + activesupport (= 6.1.7.7) + activerecord (6.1.7.7) + activemodel (= 6.1.7.7) + activesupport (= 6.1.7.7) + activesupport (6.1.7.7) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + concurrent-ruby (1.2.3) + csv (3.3.0) + encoded_id (1.0.0.rc3) + hashids (~> 1.0) + ffi (1.16.3) + fileutils (1.7.2) + hashids (1.0.6) + i18n (1.14.4) + concurrent-ruby (~> 1.0) + json (2.7.2) + language_server-protocol (3.17.0.3) + lint_roller (1.1.0) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.0) + minitest (5.22.3) + parallel (1.24.0) + parser (3.3.1.0) + ast (~> 2.4.1) + racc + racc (1.7.3) + rainbow (3.1.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rbs (3.4.4) + abbrev + regexp_parser (2.9.0) + rexml (3.2.6) + rubocop (1.62.1) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.31.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.31.3) + parser (>= 3.3.1.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + ruby-progressbar (1.13.0) + securerandom (0.3.1) + sqlite3 (1.7.3-arm64-darwin) + standard (1.35.1) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.0) + rubocop (~> 1.62.0) + standard-custom (~> 1.0.0) + standard-performance (~> 1.3) + standard-custom (1.0.2) + lint_roller (~> 1.0) + rubocop (~> 1.50) + standard-performance (1.3.1) + lint_roller (~> 1.1) + rubocop-performance (~> 1.20.2) + steep (1.6.0) + activesupport (>= 5.1) + concurrent-ruby (>= 1.1.10) + csv (>= 3.0.9) + fileutils (>= 1.1.0) + json (>= 2.1.0) + language_server-protocol (>= 3.15, < 4.0) + listen (~> 3.0) + logger (>= 1.3.0) + parser (>= 3.1) + rainbow (>= 2.2.2, < 4.0) + rbs (>= 3.1.0) + securerandom (>= 0.1) + strscan (>= 1.0.0) + terminal-table (>= 2, < 4) + strscan (3.1.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + thor (1.3.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) + zeitwerk (2.6.13) + +PLATFORMS + arm64-darwin-23 + +DEPENDENCIES + activerecord (~> 6.1.7, >= 6.1.0) + activesupport (~> 6.1.7, >= 6.1.0) + appraisal + encoded_id-rails! + minitest (~> 5.0) + rake (~> 13.0) + sqlite3 (~> 1.5) + standard (~> 1.30) + steep (~> 1.5) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/rails_7.0.gemfile b/gemfiles/rails_7.0.gemfile index d44f0e0..99b7f22 100644 --- a/gemfiles/rails_7.0.gemfile +++ b/gemfiles/rails_7.0.gemfile @@ -1,11 +1,16 @@ +# This file was generated by Appraisal + source "https://rubygems.org" -gem "sqlite3" gem "activesupport", "~> 7.0.4" gem "activerecord", "~> 7.0.4" -gem "rake", "~> 13.0" -gem "minitest", "~> 5.0" -gem "standard", "~> 1.3" -gem "steep", "~> 1.2" + +group :development, :test do + gem "rake", "~> 13.0" + gem "minitest", "~> 5.0" + gem "standard", "~> 1.30" + gem "steep", "~> 1.5" + gem "sqlite3", "~> 1.5" +end gemspec path: "../" diff --git a/gemfiles/rails_7.0.gemfile.lock b/gemfiles/rails_7.0.gemfile.lock new file mode 100644 index 0000000..168ffc5 --- /dev/null +++ b/gemfiles/rails_7.0.gemfile.lock @@ -0,0 +1,128 @@ +PATH + remote: .. + specs: + encoded_id-rails (1.0.0.beta2) + activerecord (>= 6.0, < 8.0) + activesupport (>= 6.0, < 8.0) + encoded_id (~> 1.0.0.rc3) + +GEM + remote: https://rubygems.org/ + specs: + abbrev (0.1.2) + activemodel (7.0.8.1) + activesupport (= 7.0.8.1) + activerecord (7.0.8.1) + activemodel (= 7.0.8.1) + activesupport (= 7.0.8.1) + activesupport (7.0.8.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + concurrent-ruby (1.2.3) + csv (3.3.0) + encoded_id (1.0.0.rc3) + hashids (~> 1.0) + ffi (1.16.3) + fileutils (1.7.2) + hashids (1.0.6) + i18n (1.14.4) + concurrent-ruby (~> 1.0) + json (2.7.2) + language_server-protocol (3.17.0.3) + lint_roller (1.1.0) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.0) + minitest (5.22.3) + parallel (1.24.0) + parser (3.3.1.0) + ast (~> 2.4.1) + racc + racc (1.7.3) + rainbow (3.1.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rbs (3.4.4) + abbrev + regexp_parser (2.9.0) + rexml (3.2.6) + rubocop (1.62.1) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.31.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.31.3) + parser (>= 3.3.1.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + ruby-progressbar (1.13.0) + securerandom (0.3.1) + sqlite3 (1.7.3-arm64-darwin) + standard (1.35.1) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.0) + rubocop (~> 1.62.0) + standard-custom (~> 1.0.0) + standard-performance (~> 1.3) + standard-custom (1.0.2) + lint_roller (~> 1.0) + rubocop (~> 1.50) + standard-performance (1.3.1) + lint_roller (~> 1.1) + rubocop-performance (~> 1.20.2) + steep (1.6.0) + activesupport (>= 5.1) + concurrent-ruby (>= 1.1.10) + csv (>= 3.0.9) + fileutils (>= 1.1.0) + json (>= 2.1.0) + language_server-protocol (>= 3.15, < 4.0) + listen (~> 3.0) + logger (>= 1.3.0) + parser (>= 3.1) + rainbow (>= 2.2.2, < 4.0) + rbs (>= 3.1.0) + securerandom (>= 0.1) + strscan (>= 1.0.0) + terminal-table (>= 2, < 4) + strscan (3.1.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + thor (1.3.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) + +PLATFORMS + arm64-darwin-23 + +DEPENDENCIES + activerecord (~> 7.0.4) + activesupport (~> 7.0.4) + appraisal + encoded_id-rails! + minitest (~> 5.0) + rake (~> 13.0) + sqlite3 (~> 1.5) + standard (~> 1.30) + steep (~> 1.5) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/rails_7.1.gemfile b/gemfiles/rails_7.1.gemfile new file mode 100644 index 0000000..8356da3 --- /dev/null +++ b/gemfiles/rails_7.1.gemfile @@ -0,0 +1,16 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "activesupport", "~> 7.1" +gem "activerecord", "~> 7.1" + +group :development, :test do + gem "rake", "~> 13.0" + gem "minitest", "~> 5.0" + gem "standard", "~> 1.30" + gem "steep", "~> 1.5" + gem "sqlite3", "~> 1.5" +end + +gemspec path: "../" diff --git a/gemfiles/rails_7.1.gemfile.lock b/gemfiles/rails_7.1.gemfile.lock new file mode 100644 index 0000000..9978ed8 --- /dev/null +++ b/gemfiles/rails_7.1.gemfile.lock @@ -0,0 +1,140 @@ +PATH + remote: .. + specs: + encoded_id-rails (1.0.0.beta2) + activerecord (>= 6.0, < 8.0) + activesupport (>= 6.0, < 8.0) + encoded_id (~> 1.0.0.rc3) + +GEM + remote: https://rubygems.org/ + specs: + abbrev (0.1.2) + activemodel (7.1.3.2) + activesupport (= 7.1.3.2) + activerecord (7.1.3.2) + activemodel (= 7.1.3.2) + activesupport (= 7.1.3.2) + timeout (>= 0.4.0) + activesupport (7.1.3.2) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + appraisal (2.5.0) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + base64 (0.2.0) + bigdecimal (3.1.7) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) + csv (3.3.0) + drb (2.2.1) + encoded_id (1.0.0.rc3) + hashids (~> 1.0) + ffi (1.16.3) + fileutils (1.7.2) + hashids (1.0.6) + i18n (1.14.4) + concurrent-ruby (~> 1.0) + json (2.7.2) + language_server-protocol (3.17.0.3) + lint_roller (1.1.0) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.0) + minitest (5.22.3) + mutex_m (0.2.0) + parallel (1.24.0) + parser (3.3.1.0) + ast (~> 2.4.1) + racc + racc (1.7.3) + rainbow (3.1.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rbs (3.4.4) + abbrev + regexp_parser (2.9.0) + rexml (3.2.6) + rubocop (1.62.1) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.3.0.2) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.31.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.31.3) + parser (>= 3.3.1.0) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + ruby-progressbar (1.13.0) + securerandom (0.3.1) + sqlite3 (1.7.3-arm64-darwin) + standard (1.35.1) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.0) + rubocop (~> 1.62.0) + standard-custom (~> 1.0.0) + standard-performance (~> 1.3) + standard-custom (1.0.2) + lint_roller (~> 1.0) + rubocop (~> 1.50) + standard-performance (1.3.1) + lint_roller (~> 1.1) + rubocop-performance (~> 1.20.2) + steep (1.6.0) + activesupport (>= 5.1) + concurrent-ruby (>= 1.1.10) + csv (>= 3.0.9) + fileutils (>= 1.1.0) + json (>= 2.1.0) + language_server-protocol (>= 3.15, < 4.0) + listen (~> 3.0) + logger (>= 1.3.0) + parser (>= 3.1) + rainbow (>= 2.2.2, < 4.0) + rbs (>= 3.1.0) + securerandom (>= 0.1) + strscan (>= 1.0.0) + terminal-table (>= 2, < 4) + strscan (3.1.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + thor (1.3.1) + timeout (0.4.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) + +PLATFORMS + arm64-darwin-23 + +DEPENDENCIES + activerecord (~> 7.1) + activesupport (~> 7.1) + appraisal + encoded_id-rails! + minitest (~> 5.0) + rake (~> 13.0) + sqlite3 (~> 1.5) + standard (~> 1.30) + steep (~> 1.5) + +BUNDLED WITH + 2.3.26