From 508310343660fe862c3fd39eb911f27a2415656c Mon Sep 17 00:00:00 2001 From: mishina Date: Sun, 26 Jan 2025 23:16:42 +0900 Subject: [PATCH 1/7] Run CI on ubuntu-24.04 ubuntu-18.04 is unavailable https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/ --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 81b99e1..73be997 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ permissions: jobs: test: - runs-on: ubuntu-18.04 + runs-on: ubuntu-24.04 strategy: matrix: ruby_version: ['3.1', '3.0', '2.7'] From 02becd94e25b132827dd2831ef6c941c6a20a41c Mon Sep 17 00:00:00 2001 From: mishina Date: Wed, 29 Jan 2025 23:48:54 +0900 Subject: [PATCH 2/7] Update CI matrices Run CI only on supported Ruby and Rails --- .github/workflows/test.yml | 9 +++++++-- gemfiles/Gemfile-rails.7.1.x | 21 +++++++++++++++++++++ gemfiles/Gemfile-rails.7.2.x | 21 +++++++++++++++++++++ gemfiles/Gemfile-rails.8.0.x | 21 +++++++++++++++++++++ 4 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 gemfiles/Gemfile-rails.7.1.x create mode 100644 gemfiles/Gemfile-rails.7.2.x create mode 100644 gemfiles/Gemfile-rails.8.0.x diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 73be997..cf53670 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,8 +12,13 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - ruby_version: ['3.1', '3.0', '2.7'] - rails_version: ['6.0.x', '6.1.x', '7.0.x', 'edge'] + ruby_version: ['3.4', '3.3', '3.2', '3.1'] + rails_version: ['7.0.x', '7.1.x', '7.2.x', '8.0.x', 'edge'] + exclude: + - ruby_version: '3.1' + rails_version: '8.0.x' + - ruby_version: '3.1' + rails_version: 'edge' name: Ruby ${{ matrix.ruby_version }} on Rails ${{ matrix.rails_version }} env: BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/Gemfile-rails.${{ matrix.rails_version }} diff --git a/gemfiles/Gemfile-rails.7.1.x b/gemfiles/Gemfile-rails.7.1.x new file mode 100644 index 0000000..da8b270 --- /dev/null +++ b/gemfiles/Gemfile-rails.7.1.x @@ -0,0 +1,21 @@ +source "http://rubygems.org" + +gemspec :path => ".." + +gem "activerecord", "~> 7.1.0" + +group :development do + gem 'mocha' + gem "rake" + gem "yard" + + platforms :ruby do + gem "sqlite3" + gem "redcarpet" + end + + platforms :jruby do + gem "activerecord-jdbcsqlite3-adapter" + gem "jruby-openssl", :require => false # Silence openssl warnings. + end +end diff --git a/gemfiles/Gemfile-rails.7.2.x b/gemfiles/Gemfile-rails.7.2.x new file mode 100644 index 0000000..d278eca --- /dev/null +++ b/gemfiles/Gemfile-rails.7.2.x @@ -0,0 +1,21 @@ +source "http://rubygems.org" + +gemspec :path => ".." + +gem "activerecord", "~> 7.2.0" + +group :development do + gem 'mocha' + gem "rake" + gem "yard" + + platforms :ruby do + gem "sqlite3" + gem "redcarpet" + end + + platforms :jruby do + gem "activerecord-jdbcsqlite3-adapter" + gem "jruby-openssl", :require => false # Silence openssl warnings. + end +end diff --git a/gemfiles/Gemfile-rails.8.0.x b/gemfiles/Gemfile-rails.8.0.x new file mode 100644 index 0000000..447abdb --- /dev/null +++ b/gemfiles/Gemfile-rails.8.0.x @@ -0,0 +1,21 @@ +source "http://rubygems.org" + +gemspec :path => ".." + +gem "activerecord", "~> 8.0.0" + +group :development do + gem 'mocha' + gem "rake" + gem "yard" + + platforms :ruby do + gem "sqlite3" + gem "redcarpet" + end + + platforms :jruby do + gem "activerecord-jdbcsqlite3-adapter" + gem "jruby-openssl", :require => false # Silence openssl warnings. + end +end From b7b83102e52de24ac4be79c9319cae1c56d0f082 Mon Sep 17 00:00:00 2001 From: mishina Date: Wed, 29 Jan 2025 23:53:07 +0900 Subject: [PATCH 3/7] Fix CI failures in Rails 7.0 - mutex_m, bigdecimal and drb are bundled gems since Ruby 3.4 - concurrent-ruby 1.3.5+ is not compatible with Rails 7.0 --- gemfiles/Gemfile-rails.7.0.x | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gemfiles/Gemfile-rails.7.0.x b/gemfiles/Gemfile-rails.7.0.x index 61f08e2..be4e509 100644 --- a/gemfiles/Gemfile-rails.7.0.x +++ b/gemfiles/Gemfile-rails.7.0.x @@ -2,6 +2,11 @@ source "http://rubygems.org" gemspec :path => ".." +gem "bigdecimal" # is a bundled gem since Ruby 3.4 +gem "concurrent-ruby", "< 1.3.5" # https://github.com/rails/rails/issues/54260 +gem "drb" # is a bundled gem since Ruby 3.4 +gem "mutex_m" # is a bundled gem since Ruby 3.4 + gem "activerecord", "~> 7.0.0" group :development do @@ -10,7 +15,7 @@ group :development do gem "yard" platforms :ruby do - gem "sqlite3", '~> 1.4' + gem "sqlite3", "~> 1.4" gem "redcarpet" end From 227c354051c5c70e0d9f64f7676851ff536fc58b Mon Sep 17 00:00:00 2001 From: mishina Date: Mon, 27 Jan 2025 22:56:26 +0900 Subject: [PATCH 4/7] Fix stacktrace test In Ruby 3.4 and above, single quote is used for backtrace opening quote. https://www.ruby-lang.org/en/news/2024/12/25/ruby-3-4-0-released/ --- test/unit/rake_task_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/rake_task_test.rb b/test/unit/rake_task_test.rb index 790d284..63d9ab6 100644 --- a/test/unit/rake_task_test.rb +++ b/test/unit/rake_task_test.rb @@ -113,7 +113,7 @@ def teardown rescue => e message = e.message end - assert_match(/#{Regexp.escape(<<-MSG.strip).gsub("xxx", ".*?")}/, message + assert_match(/#{Regexp.escape(<<-MSG.strip).gsub("`xxx'", "(`|').*?")}/, message Loading models failed! Error occurred while loading application: FooBar (RuntimeError) test/unit/rake_task_test.rb:#{l1}:in `xxx' From 7ee26311fae26effc0b0a409acc63018b90d60ac Mon Sep 17 00:00:00 2001 From: mishina Date: Wed, 29 Jan 2025 22:48:27 +0900 Subject: [PATCH 5/7] Bump actions/checkout from v3 to v4 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index cf53670..c955055 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: run: | sudo apt-get update -qq sudo apt-get install -qq graphviz - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby_version }} From 68a7b4359eaef82c8ab5f0adeb45b5d7eeac07f8 Mon Sep 17 00:00:00 2001 From: mishina Date: Wed, 29 Jan 2025 22:49:52 +0900 Subject: [PATCH 6/7] Update prerequisites on README to match gemspec --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index afa4baf..42a2ec3 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,8 @@ Browse the [gallery](https://voormedia.github.io/rails-erd/gallery.html) for mor Requirements --------------- -* Ruby 1.9.3+ -* ActiveRecord 3.x - 5.0.x +* Ruby 2.2+ +* ActiveRecord 4.2+ Getting started --------------- From dd01ed2911dde83fa6ec50b16e089356cfdf16f9 Mon Sep 17 00:00:00 2001 From: mishina Date: Wed, 29 Jan 2025 22:51:29 +0900 Subject: [PATCH 7/7] Remove .travis.yml and old gemfiles --- .travis.yml | 56 ------------------------------------ gemfiles/Gemfile-rails.4.2.x | 22 -------------- gemfiles/Gemfile-rails.5.0.x | 22 -------------- gemfiles/Gemfile-rails.5.1.x | 21 -------------- gemfiles/Gemfile-rails.5.2.x | 21 -------------- gemfiles/Gemfile-rails.6.0.x | 21 -------------- gemfiles/Gemfile-rails.6.1.x | 21 -------------- 7 files changed, 184 deletions(-) delete mode 100644 .travis.yml delete mode 100644 gemfiles/Gemfile-rails.4.2.x delete mode 100644 gemfiles/Gemfile-rails.5.0.x delete mode 100644 gemfiles/Gemfile-rails.5.1.x delete mode 100644 gemfiles/Gemfile-rails.5.2.x delete mode 100644 gemfiles/Gemfile-rails.6.0.x delete mode 100644 gemfiles/Gemfile-rails.6.1.x diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ed2c60c..0000000 --- a/.travis.yml +++ /dev/null @@ -1,56 +0,0 @@ -language: ruby -rvm: - - 2.2 - - 2.3 - - 2.4 - - 2.5 - - 2.6 - - 2.7 - - 3.0 - - 3.1 - - jruby -gemfile: - - gemfiles/Gemfile-rails.4.2.x - - gemfiles/Gemfile-rails.5.0.x - - gemfiles/Gemfile-rails.5.1.x - - gemfiles/Gemfile-rails.5.2.x - - gemfiles/Gemfile-rails.6.0.x - - gemfiles/Gemfile-rails.6.1.x - - gemfiles/Gemfile-rails.7.0.x - - gemfiles/Gemfile-rails.edge -before_install: - - gem install bundler -v '< 2' - - sudo apt-get update -qq - - sudo apt-get install -qq graphviz -script: bundle exec rake -matrix: - allow_failures: - - rvm: jruby - - gemfile: gemfiles/Gemfile-rails.edge - fast_finish: true - exclude: - - rvm: 2.2 - gemfile: gemfiles/Gemfile-rails.6.0.x - - rvm: 2.2 - gemfile: gemfiles/Gemfile-rails.6.1.x - - rvm: 2.2 - gemfile: gemfiles/Gemfile-rails.7.0.x - - rvm: 2.2 - gemfile: gemfiles/Gemfile-rails.edge - - rvm: 2.3 - gemfile: gemfiles/Gemfile-rails.6.0.x - - rvm: 2.3 - gemfile: gemfiles/Gemfile-rails.6.1.x - - rvm: 2.3 - gemfile: gemfiles/Gemfile-rails.7.0.x - - rvm: 2.3 - gemfile: gemfiles/Gemfile-rails.edge - - rvm: 2.4 - gemfile: gemfiles/Gemfile-rails.6.0.x - - rvm: 2.4 - gemfile: gemfiles/Gemfile-rails.6.1.x - - rvm: 2.4 - gemfile: gemfiles/Gemfile-rails.7.0.x - - rvm: 2.4 - gemfile: gemfiles/Gemfile-rails.edge -cache: bundler diff --git a/gemfiles/Gemfile-rails.4.2.x b/gemfiles/Gemfile-rails.4.2.x deleted file mode 100644 index 6c0bb7b..0000000 --- a/gemfiles/Gemfile-rails.4.2.x +++ /dev/null @@ -1,22 +0,0 @@ -source "http://rubygems.org" - -gemspec :path => ".." - -gem "activerecord", "~> 4.2.0" - -group :development do - gem 'minitest', '5.10.1' - gem 'mocha' - gem "rake" - gem "yard" - - platforms :ruby do - gem "sqlite3", '~> 1.3.13' - gem "redcarpet" - end - - platforms :jruby do - gem "activerecord-jdbcsqlite3-adapter" - gem "jruby-openssl", :require => false # Silence openssl warnings. - end -end diff --git a/gemfiles/Gemfile-rails.5.0.x b/gemfiles/Gemfile-rails.5.0.x deleted file mode 100644 index fa75b47..0000000 --- a/gemfiles/Gemfile-rails.5.0.x +++ /dev/null @@ -1,22 +0,0 @@ -source "http://rubygems.org" - -gemspec :path => ".." - -gem "activerecord", "~> 5.0.2" - -group :development do - gem 'minitest', '5.10.1' - gem 'mocha' - gem "rake" - gem "yard" - - platforms :ruby do - gem "sqlite3", '~> 1.3.13' - gem "redcarpet" - end - - platforms :jruby do - gem "activerecord-jdbcsqlite3-adapter" - gem "jruby-openssl", :require => false # Silence openssl warnings. - end -end diff --git a/gemfiles/Gemfile-rails.5.1.x b/gemfiles/Gemfile-rails.5.1.x deleted file mode 100644 index b49f845..0000000 --- a/gemfiles/Gemfile-rails.5.1.x +++ /dev/null @@ -1,21 +0,0 @@ -source "http://rubygems.org" - -gemspec :path => ".." - -gem "activerecord", "~> 5.1.0" - -group :development do - gem 'mocha' - gem "rake" - gem "yard" - - platforms :ruby do - gem "sqlite3", '~> 1.3.13' - gem "redcarpet" - end - - platforms :jruby do - gem "activerecord-jdbcsqlite3-adapter" - gem "jruby-openssl", :require => false # Silence openssl warnings. - end -end diff --git a/gemfiles/Gemfile-rails.5.2.x b/gemfiles/Gemfile-rails.5.2.x deleted file mode 100644 index 8cc4839..0000000 --- a/gemfiles/Gemfile-rails.5.2.x +++ /dev/null @@ -1,21 +0,0 @@ -source "http://rubygems.org" - -gemspec :path => ".." - -gem "activerecord", "~> 5.2.0" - -group :development do - gem 'mocha' - gem "rake" - gem "yard" - - platforms :ruby do - gem "sqlite3", '~> 1.3.13' - gem "redcarpet" - end - - platforms :jruby do - gem "activerecord-jdbcsqlite3-adapter" - gem "jruby-openssl", :require => false # Silence openssl warnings. - end -end diff --git a/gemfiles/Gemfile-rails.6.0.x b/gemfiles/Gemfile-rails.6.0.x deleted file mode 100644 index dcc5e72..0000000 --- a/gemfiles/Gemfile-rails.6.0.x +++ /dev/null @@ -1,21 +0,0 @@ -source "http://rubygems.org" - -gemspec :path => ".." - -gem "activerecord", "~> 6.0.0rc1" - -group :development do - gem 'mocha' - gem "rake" - gem "yard" - - platforms :ruby do - gem "sqlite3", '~> 1.4' - gem "redcarpet" - end - - platforms :jruby do - gem "activerecord-jdbcsqlite3-adapter" - gem "jruby-openssl", :require => false # Silence openssl warnings. - end -end diff --git a/gemfiles/Gemfile-rails.6.1.x b/gemfiles/Gemfile-rails.6.1.x deleted file mode 100644 index f686f7b..0000000 --- a/gemfiles/Gemfile-rails.6.1.x +++ /dev/null @@ -1,21 +0,0 @@ -source "http://rubygems.org" - -gemspec :path => ".." - -gem "activerecord", "~> 6.1.1" - -group :development do - gem 'mocha' - gem "rake" - gem "yard" - - platforms :ruby do - gem "sqlite3", '~> 1.4' - gem "redcarpet" - end - - platforms :jruby do - gem "activerecord-jdbcsqlite3-adapter" - gem "jruby-openssl", :require => false # Silence openssl warnings. - end -end