name: Test on: push: branches: - main pull_request: workflow_dispatch: jobs: test: strategy: fail-fast: false matrix: gemfile: - Gemfile - gemfiles/Gemfile-rails-main - gemfiles/Gemfile-rails-7-0 - gemfiles/Gemfile-rails-7-1 - gemfiles/Gemfile-rails-7-2 - gemfiles/Gemfile-rails-8-0 ruby: - '4.0' - '3.4' - '3.3' - '3.2' - '3.1' - '3.0' - '2.7' orm: - active_record - mongoid exclude: - gemfile: Gemfile ruby: '3.1' - gemfile: Gemfile ruby: '3.0' - gemfile: Gemfile ruby: '2.7' - gemfile: gemfiles/Gemfile-rails-main ruby: '3.2' - gemfile: gemfiles/Gemfile-rails-main ruby: '3.1' - gemfile: gemfiles/Gemfile-rails-main ruby: '3.0' - gemfile: gemfiles/Gemfile-rails-main ruby: '2.7' - gemfile: gemfiles/Gemfile-rails-8-0 ruby: '3.1' - gemfile: gemfiles/Gemfile-rails-8-0 ruby: '3.0' - gemfile: gemfiles/Gemfile-rails-8-0 ruby: '2.7' - gemfile: gemfiles/Gemfile-rails-7-2 ruby: '3.0' - gemfile: gemfiles/Gemfile-rails-7-2 ruby: '2.7' runs-on: ubuntu-latest env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps BUNDLE_GEMFILE: ${{ matrix.gemfile }} DEVISE_ORM: ${{ matrix.orm }} steps: - uses: actions/checkout@v6 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true # runs bundle install and caches installed gems automatically - uses: supercharge/mongodb-github-action@1.12.1 if: ${{ matrix.orm == 'mongoid' }} - run: bundle exec rake