From e5ffc313ff95569699a74dee28d4719543368508 Mon Sep 17 00:00:00 2001 From: Joshua Wood Date: Tue, 8 Oct 2024 21:08:31 -0600 Subject: [PATCH] chore: add Rails 8 beta to CI (#615) --- .github/workflows/ruby.yml | 5 +++++ Appraisals | 12 ++++++++++- gemfiles/rails.gemfile | 2 +- gemfiles/rails8.gemfile | 41 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 gemfiles/rails8.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 156a6900..6ae97d87 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -28,6 +28,7 @@ jobs: - rails7.0.gemfile - rails7.1.gemfile - rails7.2.gemfile + - rails8.gemfile - resque.gemfile - sinatra.gemfile - sidekiq.gemfile @@ -36,6 +37,10 @@ jobs: exclude: - ruby: '3.0' gemfile: rails7.2.gemfile + - ruby: '3.0' + gemfile: rails8.gemfile + - ruby: '3.1' + gemfile: rails8.gemfile # Has to be top level to cache properly env: diff --git a/Appraisals b/Appraisals index 44c72fc1..efc2c95d 100644 --- a/Appraisals +++ b/Appraisals @@ -76,12 +76,22 @@ if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.5.0") gem "tzinfo-data" # Needed for timezones to work on Windows end + appraise "rails8" do + RAILS_GEMS.each { |rails_gem| gem rails_gem, "~> 8.0.0.beta1" } + gem "sqlite3", "~> 2", platforms: :mri + gem "activerecord-jdbcsqlite3-adapter", "~> 70", platforms: :jruby + gem "better_errors", require: false, platforms: :mri + gem "rack-mini-profiler", require: false + gem "rspec-rails" + gem "tzinfo-data" # Needed for timezones to work on Windows + end + # Rails edge appraise "rails" do RAILS_GEMS.each { |rails_gem| gem rails_gem, github: "rails" } gem "rack", github: "rack/rack", branch: "2-2-stable" # Rack"s main branch is Rack 3, but ActionPack currently requires Rack 2 gem "arel", github: "rails/arel" - gem "sqlite3", "~> 1.4", platforms: :mri + gem "sqlite3", "~> 2", platforms: :mri gem "capistrano", "~> 3.0" gem "better_errors", require: false, platforms: :mri gem "rspec-rails" diff --git a/gemfiles/rails.gemfile b/gemfiles/rails.gemfile index d290c8c1..2711989d 100644 --- a/gemfiles/rails.gemfile +++ b/gemfiles/rails.gemfile @@ -21,7 +21,7 @@ gem "railties", github: "rails" gem "actionpack", github: "rails" gem "rack", github: "rack/rack", branch: "2-2-stable" gem "arel", github: "rails/arel" -gem "sqlite3", "~> 1.4", platforms: :mri +gem "sqlite3", "~> 2", platforms: :mri gem "better_errors", require: false, platforms: :mri gem "rspec-rails" gem "listen" diff --git a/gemfiles/rails8.gemfile b/gemfiles/rails8.gemfile new file mode 100644 index 00000000..81056ca3 --- /dev/null +++ b/gemfiles/rails8.gemfile @@ -0,0 +1,41 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "allocation_stats", platforms: :mri, require: false +gem "appraisal", "~> 2.1" +gem "aruba", "~> 2.0" +gem "rspec", "~> 3.0" +gem "rspec-its" +gem "ruby-prof", platforms: :mri, require: false +gem "timecop" +gem "webmock" +gem "capistrano" +gem "rake" +gem "bump", "~> 0.10.0" +gem "activesupport", "~> 8.0.0.beta1" +gem "activemodel", "~> 8.0.0.beta1" +gem "activerecord", "~> 8.0.0.beta1" +gem "activejob", "~> 8.0.0.beta1" +gem "railties", "~> 8.0.0.beta1" +gem "actionpack", "~> 8.0.0.beta1" +gem "sqlite3", "~> 2", platforms: :mri +gem "activerecord-jdbcsqlite3-adapter", "~> 70", platforms: :jruby +gem "better_errors", require: false, platforms: :mri +gem "rack-mini-profiler", require: false +gem "rspec-rails" +gem "tzinfo-data" + +group :development do + gem "guard" + gem "guard-rspec" + gem "pry" + gem "pry-byebug", platforms: :mri + gem "rdoc" +end + +platforms :ruby_25 do + gem "mathn" +end + +gemspec path: "../"