From 1a3dd52af435ffc9fde5549f48c76c1630dea142 Mon Sep 17 00:00:00 2001 From: Donal McBreen Date: Tue, 9 Jan 2024 10:47:02 +0000 Subject: [PATCH] Rails 7.2 compatible Rubies 1. Add Ruby 2.7 specific Gemfile that uses an older version of nokogiri 2. Rails edge doesn't support Ruby 2.7.0, so exclude it. 3. Add Ruby 3.3 4. Update Gemfile.lock to test against Rails 7.1.2 as it's the latest version. 5. Remove continue-on-error from the matrix and always set to true --- .github/workflows/ci.yml | 18 +++++- Gemfile.lock | 119 ++++++++++++++++++++++++-------------- gemfiles/ruby_2.7.gemfile | 6 ++ 3 files changed, 95 insertions(+), 48 deletions(-) create mode 100644 gemfiles/ruby_2.7.gemfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f8094c05..44fd5fb9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,5 @@ name: CI -on: +on: push: branches: - main @@ -12,13 +12,25 @@ jobs: - "2.7" - "3.1" - "3.2" + - "3.3" gemfile: - Gemfile + - gemfiles/ruby_2.7.gemfile - gemfiles/rails_edge.gemfile - continue-on-error: [false] + exclude: + - ruby-version: "2.7" + gemfile: Gemfile + - ruby-version: "2.7" + gemfile: gemfiles/rails_edge.gemfile + - ruby-version: "3.1" + gemfile: gemfiles/ruby_2.7.gemfile + - ruby-version: "3.2" + gemfile: gemfiles/ruby_2.7.gemfile + - ruby-version: "3.3" + gemfile: gemfiles/ruby_2.7.gemfile name: ${{ format('Tests (Ruby {0})', matrix.ruby-version) }} runs-on: ubuntu-latest - continue-on-error: ${{ matrix.continue-on-error }} + continue-on-error: true env: BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }} steps: diff --git a/Gemfile.lock b/Gemfile.lock index aba3b3e5..31068493 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -15,82 +15,111 @@ PATH GEM remote: https://rubygems.org/ specs: - actionpack (7.0.4.3) - actionview (= 7.0.4.3) - activesupport (= 7.0.4.3) - rack (~> 2.0, >= 2.2.0) + actionpack (7.1.2) + actionview (= 7.1.2) + activesupport (= 7.1.2) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actionview (7.0.4.3) - activesupport (= 7.0.4.3) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + actionview (7.1.2) + activesupport (= 7.1.2) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activesupport (7.0.4.3) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activesupport (7.1.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) + base64 (0.2.0) bcrypt_pbkdf (1.1.0) + bigdecimal (3.1.5) builder (3.2.4) concurrent-ruby (1.2.2) + connection_pool (2.4.1) crass (1.0.6) - debug (1.7.2) - irb (>= 1.5.0) - reline (>= 0.3.1) + debug (1.9.1) + irb (~> 1.10) + reline (>= 0.3.8) dotenv (2.8.1) + drb (2.2.0) + ruby2_keywords ed25519 (1.3.0) erubi (1.12.0) - i18n (1.12.0) + i18n (1.14.1) concurrent-ruby (~> 1.0) - io-console (0.6.0) - irb (1.6.3) - reline (>= 0.3.0) - loofah (2.20.0) + io-console (0.7.1) + irb (1.11.0) + rdoc + reline (>= 0.3.8) + loofah (2.22.0) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - method_source (1.0.0) - minitest (5.18.0) - mocha (2.0.2) + nokogiri (>= 1.12.0) + minitest (5.20.0) + mocha (2.1.0) ruby2_keywords (>= 0.0.5) + mutex_m (0.2.0) net-scp (4.0.0) net-ssh (>= 2.6.5, < 8.0.0) - net-ssh (7.1.0) - nokogiri (1.14.2-arm64-darwin) + net-ssh (7.2.1) + nokogiri (1.16.0-arm64-darwin) racc (~> 1.4) - nokogiri (1.14.2-x86_64-darwin) + nokogiri (1.16.0-x86_64-darwin) racc (~> 1.4) - nokogiri (1.14.2-x86_64-linux) + nokogiri (1.16.0-x86_64-linux) racc (~> 1.4) - racc (1.6.2) - rack (2.2.6.4) + psych (5.1.2) + stringio + racc (1.7.3) + rack (3.0.8) + rack-session (2.0.0) + rack (>= 3.0.0) rack-test (2.1.0) rack (>= 1.3) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + rackup (2.1.0) + rack (>= 3) + webrick (~> 1.8) + rails-dom-testing (2.2.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.5.0) - loofah (~> 2.19, >= 2.19.1) - railties (7.0.4.3) - actionpack (= 7.0.4.3) - activesupport (= 7.0.4.3) - method_source + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) + railties (7.1.2) + actionpack (= 7.1.2) + activesupport (= 7.1.2) + irb + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) - rake (13.0.6) - reline (0.3.3) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) + rake (13.1.0) + rdoc (6.6.2) + psych (>= 4.0.0) + reline (0.4.2) io-console (~> 0.5) ruby2_keywords (0.0.5) - sshkit (1.21.4) + sshkit (1.21.7) + mutex_m net-scp (>= 1.1.2) net-ssh (>= 2.8.0) - thor (1.2.1) + stringio (3.1.0) + thor (1.3.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - zeitwerk (2.6.7) + webrick (1.8.1) + zeitwerk (2.6.12) PLATFORMS arm64-darwin diff --git a/gemfiles/ruby_2.7.gemfile b/gemfiles/ruby_2.7.gemfile new file mode 100644 index 00000000..1463b323 --- /dev/null +++ b/gemfiles/ruby_2.7.gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +gemspec path: "../" + +gem "nokogiri", "~> 1.15.0"