diff --git a/.github/workflows/dummy.yml b/.github/workflows/dummy.yml index c177dbda..6fc54d6a 100644 --- a/.github/workflows/dummy.yml +++ b/.github/workflows/dummy.yml @@ -24,7 +24,7 @@ jobs: node-version: '16' - uses: ruby/setup-ruby@v1 with: - ruby-version: '3.1.2' + ruby-version: '3.4.1' - name: Install dependencies run: | bundle install diff --git a/.github/workflows/generator.yml b/.github/workflows/generator.yml index bcd3ed73..4645fb54 100644 --- a/.github/workflows/generator.yml +++ b/.github/workflows/generator.yml @@ -18,29 +18,42 @@ jobs: strategy: matrix: os: [ubuntu-latest] - ruby: ['2.7', '3.0', '3.1', '3.2', '3.3'] + ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4'] gemfile: - gemfiles/Gemfile-rails.6.0.x - gemfiles/Gemfile-rails.6.1.x - gemfiles/Gemfile-rails.7.0.x - gemfiles/Gemfile-rails.7.1.x - gemfiles/Gemfile-rails.7.2.x + - gemfiles/Gemfile-rails.8.0.x # Uncomment the following line only to ensure compatibility with the # upcomming Rails versions, maybe before a release. #- gemfiles/Gemfile-rails-edge exclude: - ruby: '2.7' gemfile: gemfiles/Gemfile-rails.7.2.x + - ruby: '2.7' + gemfile: gemfiles/Gemfile-rails.8.0.x - ruby: '3.0' gemfile: gemfiles/Gemfile-rails.7.2.x + - ruby: '3.0' + gemfile: gemfiles/Gemfile-rails.8.0.x - ruby: '3.1' gemfile: gemfiles/Gemfile-rails.6.0.x + - ruby: '3.1' + gemfile: gemfiles/Gemfile-rails.8.0.x - ruby: '3.2' gemfile: gemfiles/Gemfile-rails.6.0.x - ruby: '3.3' gemfile: gemfiles/Gemfile-rails.6.0.x - ruby: '3.3' gemfile: gemfiles/Gemfile-rails.6.1.x + - ruby: '3.4' + gemfile: gemfiles/Gemfile-rails.6.0.x + - ruby: '3.4' + gemfile: gemfiles/Gemfile-rails.6.1.x + - ruby: '3.4' + gemfile: gemfiles/Gemfile-rails.7.0.x env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 90047ee1..23008b68 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -22,7 +22,7 @@ jobs: persist-credentials: false - uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: 22.x cache: yarn - name: Install dependencies @@ -35,7 +35,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - node: [14.x, 16.x, 18.x, 20.x] + node: [14.x, 16.x, 18.x, 20.x, 22.x] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index f26aaaae..11de99a2 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -23,7 +23,7 @@ jobs: run: rm -f Gemfile.lock - uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3' + ruby-version: '3.4' bundler-cache: true - name: Ruby rubocop @@ -35,29 +35,42 @@ jobs: strategy: matrix: os: [ubuntu-latest] - ruby: ['2.7', '3.0', '3.1', '3.2', '3.3'] + ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4'] gemfile: - gemfiles/Gemfile-rails.6.0.x - gemfiles/Gemfile-rails.6.1.x - gemfiles/Gemfile-rails.7.0.x - gemfiles/Gemfile-rails.7.1.x - gemfiles/Gemfile-rails.7.2.x + - gemfiles/Gemfile-rails.8.0.x # Uncomment the following line only to ensure compatibility with the # upcomming Rails versions, maybe before a release. #- gemfiles/Gemfile-rails-edge exclude: - ruby: '2.7' gemfile: gemfiles/Gemfile-rails.7.2.x + - ruby: '2.7' + gemfile: gemfiles/Gemfile-rails.8.0.x - ruby: '3.0' gemfile: gemfiles/Gemfile-rails.7.2.x + - ruby: '3.0' + gemfile: gemfiles/Gemfile-rails.8.0.x - ruby: '3.1' gemfile: gemfiles/Gemfile-rails.6.0.x + - ruby: '3.1' + gemfile: gemfiles/Gemfile-rails.8.0.x - ruby: '3.2' gemfile: gemfiles/Gemfile-rails.6.0.x - ruby: '3.3' gemfile: gemfiles/Gemfile-rails.6.0.x - ruby: '3.3' gemfile: gemfiles/Gemfile-rails.6.1.x + - ruby: '3.4' + gemfile: gemfiles/Gemfile-rails.6.0.x + - ruby: '3.4' + gemfile: gemfiles/Gemfile-rails.6.1.x + - ruby: '3.4' + gemfile: gemfiles/Gemfile-rails.7.0.x env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} diff --git a/gemfiles/Gemfile-rails.8.0.x b/gemfiles/Gemfile-rails.8.0.x new file mode 100644 index 00000000..cdb91f23 --- /dev/null +++ b/gemfiles/Gemfile-rails.8.0.x @@ -0,0 +1,11 @@ +source "https://rubygems.org" + +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +gemspec path: "../" + +gem "rails", '~>8.0.0' +gem "rake", ">= 11.1" +gem "rack-proxy", require: false +gem "rspec-rails", "~> 6.0.0" +gem "byebug" diff --git a/spec/generator_specs/generator_spec.rb b/spec/generator_specs/generator_spec.rb index 95364c55..18fd246a 100644 --- a/spec/generator_specs/generator_spec.rb +++ b/spec/generator_specs/generator_spec.rb @@ -31,8 +31,17 @@ bundle install )) else + # TODO: remove when Ruby < 3.1 support will be dropped + # Ref: https://github.com/shakacode/shakapacker/issues/534 + update_bundler_command = + if RUBY_VERSION.start_with?("3.1") + '>= 2.6' + else + '< 2.6' + end + sh_in_dir({}, BASE_RAILS_APP_PATH, %( - gem update bundler + gem update bundler -v "#{bundler_version_constraint}" bundle add shakapacker --path "#{GEM_ROOT}" )) end