name: Build on: - push - pull_request jobs: unit: strategy: matrix: ruby_version: - '3.3' - '3.2' - '3.1' - '3.0' - '2.7' - 'jruby-9.3' - 'jruby-9.4' gemfile: - gemfiles/rails_71.gemfile - gemfiles/rails_70.gemfile - gemfiles/rails_61.gemfile - gemfiles/rails_60.gemfile exclude: - ruby_version: 'jruby-9.3' gemfile: gemfiles/rails_71.gemfile - ruby_version: 'jruby-9.3' gemfile: gemfiles/rails_70.gemfile runs-on: ubuntu-22.04 env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} steps: - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby_version }} bundler-cache: true - run: bundle exec rake test rails_edge: needs: unit runs-on: ubuntu-22.04 env: BUNDLE_GEMFILE: gemfiles/rails_edge.gemfile steps: - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: 3.3 bundler-cache: true - run: bundle exec rake test || echo "Rails edge test is done." ruby_edge: needs: unit strategy: matrix: gemfile: - gemfiles/rails_edge.gemfile - gemfiles/rails_71.gemfile runs-on: ubuntu-22.04 env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} steps: - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: 'ruby-head' bundler-cache: true - run: bundle exec rake || echo "Ruby edge test is done."