diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 64bb73a7..d63065b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,11 +12,8 @@ jobs: strategy: fail-fast: false matrix: - ruby_version: ['2.5', '2.6', '2.7', '3.0', '3.1'] + ruby_version: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4', '4.0'] gemfile: - - test/gemfiles/rails_5_0.gemfile - - test/gemfiles/rails_5_1.gemfile - - test/gemfiles/rails_5_2.gemfile - test/gemfiles/rails_6_0.gemfile - test/gemfiles/rails_6_1.gemfile - test/gemfiles/rails_7_0_sassc.gemfile @@ -26,36 +23,34 @@ jobs: gemfile: test/gemfiles/rails_4_2.gemfile - ruby_version: '2.6' gemfile: test/gemfiles/rails_4_2.gemfile - exclude: - ruby_version: '2.5' - gemfile: test/gemfiles/rails_7_0_sassc.gemfile - - ruby_version: '2.5' - gemfile: test/gemfiles/rails_7_0_dartsass.gemfile - - ruby_version: '2.6' - gemfile: test/gemfiles/rails_7_0_sassc.gemfile + gemfile: test/gemfiles/rails_5_0.gemfile - ruby_version: '2.6' - gemfile: test/gemfiles/rails_7_0_dartsass.gemfile - - ruby_version: '3.0' gemfile: test/gemfiles/rails_5_0.gemfile - - ruby_version: '3.0' - gemfile: test/gemfiles/rails_5_1.gemfile - - ruby_version: '3.0' - gemfile: test/gemfiles/rails_5_2.gemfile - - ruby_version: '3.1' + - ruby_version: '2.7' gemfile: test/gemfiles/rails_5_0.gemfile - - ruby_version: '3.1' + - ruby_version: '2.5' gemfile: test/gemfiles/rails_5_1.gemfile - - ruby_version: '3.1' + - ruby_version: '2.6' + gemfile: test/gemfiles/rails_5_1.gemfile + - ruby_version: '2.7' + gemfile: test/gemfiles/rails_5_1.gemfile + - ruby_version: '2.5' + gemfile: test/gemfiles/rails_5_2.gemfile + - ruby_version: '2.6' + gemfile: test/gemfiles/rails_5_2.gemfile + - ruby_version: '2.7' gemfile: test/gemfiles/rails_5_2.gemfile - - ruby_version: '3.1' - gemfile: test/gemfiles/rails_6_0.gemfile runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby_version }} bundler-cache: true # 'bundle install' and cache + - name: Disable AppArmor # https://chromium.googlesource.com/chromium/src/+/main/docs/security/apparmor-userns-restrictions.md + if: runner.os == 'Linux' + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 - name: Build and test with Rake run: bundle exec rake --trace diff --git a/bootstrap.gemspec b/bootstrap.gemspec index a0bd50c4..b47a63bc 100644 --- a/bootstrap.gemspec +++ b/bootstrap.gemspec @@ -19,7 +19,7 @@ Gem::Specification.new do |s| s.add_development_dependency 'rake' # Testing dependencies - s.add_development_dependency 'minitest', '~> 5.14.4' + s.add_development_dependency 'minitest', '>= 5.14.4', '< 7' s.add_development_dependency 'minitest-reporters', '~> 1.4.3' s.add_development_dependency 'term-ansicolor' # Integration testing diff --git a/test/gemfiles/rails_6_0.gemfile b/test/gemfiles/rails_6_0.gemfile index daeffa5f..db3f394a 100644 --- a/test/gemfiles/rails_6_0.gemfile +++ b/test/gemfiles/rails_6_0.gemfile @@ -5,3 +5,11 @@ gem 'activesupport', '~> 6.0.3' gem 'sassc-rails', '~> 2.0' gemspec path: '../../' + +# no longer bundled as default gems in newer ruby +gem 'base64' +gem 'benchmark' +gem 'drb' +gem 'mutex_m' +gem 'ruby2_keywords' +gem 'tsort' diff --git a/test/gemfiles/rails_6_1.gemfile b/test/gemfiles/rails_6_1.gemfile index 04342fbb..358eae29 100644 --- a/test/gemfiles/rails_6_1.gemfile +++ b/test/gemfiles/rails_6_1.gemfile @@ -5,3 +5,11 @@ gem 'activesupport', '~> 6.1.3' gem 'sassc-rails', '~> 2.0' gemspec path: '../../' + +# no longer bundled as default gems in newer ruby +gem 'base64' +gem 'benchmark' +gem 'drb' +gem 'mutex_m' +gem 'ruby2_keywords' +gem 'tsort' diff --git a/test/gemfiles/rails_7_0_dartsass.gemfile b/test/gemfiles/rails_7_0_dartsass.gemfile index 6df9142d..7e46b9d9 100644 --- a/test/gemfiles/rails_7_0_dartsass.gemfile +++ b/test/gemfiles/rails_7_0_dartsass.gemfile @@ -5,3 +5,11 @@ gem 'activesupport', '~> 7.0.4' gem 'dartsass-sprockets', '~> 3.0' gemspec path: '../../' + +# no longer bundled as default gems in newer ruby +gem 'base64' +gem 'benchmark' +gem 'drb' +gem 'mutex_m' +gem 'ruby2_keywords' +gem 'tsort' diff --git a/test/gemfiles/rails_7_0_sassc.gemfile b/test/gemfiles/rails_7_0_sassc.gemfile index 58fc0395..e5fe36e6 100644 --- a/test/gemfiles/rails_7_0_sassc.gemfile +++ b/test/gemfiles/rails_7_0_sassc.gemfile @@ -5,3 +5,11 @@ gem 'activesupport', '~> 7.0.4' gem 'sassc-rails', '~> 2.0' gemspec path: '../../' + +# no longer bundled as default gems in newer ruby +gem 'base64' +gem 'benchmark' +gem 'drb' +gem 'mutex_m' +gem 'ruby2_keywords' +gem 'tsort' diff --git a/test/test_helper.rb b/test/test_helper.rb index da896902..5b182425 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,3 +1,5 @@ +require 'logger' + require 'minitest/autorun' require 'minitest/reporters' Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new @@ -26,7 +28,7 @@ options = { window_size: [1280, 1024], timeout: 30, - process_timeout: 30 + process_timeout: 60 } options[:browser_path] = browser_path if browser_path Capybara::Cuprite::Driver.new(app, options) @@ -34,9 +36,9 @@ Capybara.configure do |config| config.server = :webrick - config.app_host = 'http://localhost:7000' + config.app_host = 'http://localhost:8000' config.default_driver = :cuprite config.javascript_driver = :cuprite - config.server_port = 7000 + config.server_port = 8000 config.default_max_wait_time = 10 end