From e4d8b25703858246da54f8b5566677fbb2365bc1 Mon Sep 17 00:00:00 2001 From: Tom de Bruijn Date: Fri, 8 Nov 2024 10:04:30 +0100 Subject: [PATCH] Add Rails 8 build to the CI Rails 8 has been released. Test our gem works against it on the CI. Didn't add a JRuby build because the last one targets Ruby 3.1 compatibility and Rails 8 targets Ruby >= 3.2. --- .github/workflows/ci.yml | 56 +++++++++++++++++++++++++++++++++++++- build_matrix.yml | 6 ++++ gemfiles/rails-8.0.gemfile | 7 +++++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 gemfiles/rails-8.0.gemfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6bd415d5..c7dbf0ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,7 +2,7 @@ # This is a generated file by the `rake build_matrix:github:generate` task. # See `build_matrix.yml` for the build matrix. # Generate this file with `rake build_matrix:github:generate`. -# Generated job count: 122 +# Generated job count: 124 --- name: Ruby gem CI 'on': @@ -534,6 +534,33 @@ jobs: JRUBY_OPTS: '' COV: '1' BUNDLE_GEMFILE: gemfiles/rails-7.2.gemfile + ruby_3-3-4__rails-8-0_ubuntu-latest: + name: Ruby 3.3.4 - rails-8.0 + needs: ruby_3-3-4_ubuntu-latest + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + - name: Install Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.3.4 + bundler-cache: true + - name: Install gem extension + run: "./script/bundler_wrapper exec rake extension:install" + - name: Print extension install report + run: "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report + file found'" + - name: Print Makefile log file + run: "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file + found'" + - name: Run tests + run: "./script/bundler_wrapper exec rake test" + env: + RAILS_ENV: test + JRUBY_OPTS: '' + COV: '1' + BUNDLE_GEMFILE: gemfiles/rails-8.0.gemfile ruby_3-3-4__sequel_ubuntu-latest: name: Ruby 3.3.4 - sequel needs: ruby_3-3-4_ubuntu-latest @@ -1159,6 +1186,33 @@ jobs: JRUBY_OPTS: '' COV: '1' BUNDLE_GEMFILE: gemfiles/rails-7.2.gemfile + ruby_3-2-5__rails-8-0_ubuntu-latest: + name: Ruby 3.2.5 - rails-8.0 + needs: ruby_3-2-5_ubuntu-latest + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v4 + - name: Install Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.2.5 + bundler-cache: true + - name: Install gem extension + run: "./script/bundler_wrapper exec rake extension:install" + - name: Print extension install report + run: "[ -e ext/install.report ] && cat ext/install.report || echo 'No ext/install.report + file found'" + - name: Print Makefile log file + run: "[ -f ext/mkmf.log ] && cat ext/mkmf.log || echo 'No ext/mkmf.log file + found'" + - name: Run tests + run: "./script/bundler_wrapper exec rake test" + env: + RAILS_ENV: test + JRUBY_OPTS: '' + COV: '1' + BUNDLE_GEMFILE: gemfiles/rails-8.0.gemfile ruby_3-2-5__sequel_ubuntu-latest: name: Ruby 3.2.5 - sequel needs: ruby_3-2-5_ubuntu-latest diff --git a/build_matrix.yml b/build_matrix.yml index 1b0dc87e..8b984c04 100644 --- a/build_matrix.yml +++ b/build_matrix.yml @@ -85,6 +85,7 @@ matrix: - "rails-7.0" - "rails-7.1" - "rails-7.2" + - "rails-8.0" ruby: - ruby: "3.3.4" @@ -179,6 +180,11 @@ matrix: - "3.2.5" - "3.1.6" - "jruby-9.4.7.0" + - gem: "rails-8.0" + only: + ruby: + - "3.3.4" + - "3.2.5" - gem: "sequel" - gem: "sinatra" - gem: "webmachine2" diff --git a/gemfiles/rails-8.0.gemfile b/gemfiles/rails-8.0.gemfile new file mode 100644 index 00000000..f0b4ac87 --- /dev/null +++ b/gemfiles/rails-8.0.gemfile @@ -0,0 +1,7 @@ +source "https://rubygems.org" + +gem "rails", "~> 8.0.0" +gem "rake" +gem "sidekiq" + +gemspec :path => "../"