mirror of
https://github.com/heartcombo/devise.git
synced 2026-01-10 07:18:14 -05:00
* Rails and Ruby versions follow the most recent to oldest, except for Rails main, so we can keep the Gemfile the first one. * Excluding specific matrix combinations based on the Gemfile first, Ruby version next, and keep the same order (most recent -> oldest) * Quote all Ruby versions to keep things consistent. It's required for the '3.0' version to avoid the float issue where it'd use the latest 3.x instead.
150 lines
5.0 KiB
YAML
150 lines
5.0 KiB
YAML
name: Test
|
|
on: [push, pull_request]
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
gemfile:
|
|
- Gemfile
|
|
- gemfiles/Gemfile-rails-main
|
|
- gemfiles/Gemfile-rails-6-1
|
|
- gemfiles/Gemfile-rails-6-0
|
|
- gemfiles/Gemfile-rails-5-2
|
|
- gemfiles/Gemfile-rails-5-1
|
|
- gemfiles/Gemfile-rails-5-0
|
|
- gemfiles/Gemfile-rails-4-2
|
|
- gemfiles/Gemfile-rails-4-1
|
|
ruby:
|
|
- '3.1'
|
|
- '3.0'
|
|
- '2.7'
|
|
- '2.6'
|
|
- '2.5'
|
|
- '2.4'
|
|
- '2.3'
|
|
- '2.2'
|
|
- '2.1'
|
|
env:
|
|
- DEVISE_ORM=active_record
|
|
- DEVISE_ORM=mongoid
|
|
exclude:
|
|
- gemfile: Gemfile
|
|
ruby: '2.6'
|
|
- gemfile: Gemfile
|
|
ruby: '2.5'
|
|
- gemfile: Gemfile
|
|
ruby: '2.4'
|
|
- gemfile: Gemfile
|
|
ruby: '2.3'
|
|
- gemfile: Gemfile
|
|
ruby: '2.2'
|
|
- gemfile: Gemfile
|
|
ruby: '2.1'
|
|
- gemfile: Gemfile
|
|
env: DEVISE_ORM=mongoid
|
|
- gemfile: gemfiles/Gemfile-rails-main
|
|
ruby: '2.6'
|
|
- gemfile: gemfiles/Gemfile-rails-main
|
|
ruby: '2.5'
|
|
- gemfile: gemfiles/Gemfile-rails-main
|
|
ruby: '2.4'
|
|
- gemfile: gemfiles/Gemfile-rails-main
|
|
ruby: '2.3'
|
|
- gemfile: gemfiles/Gemfile-rails-main
|
|
ruby: '2.2'
|
|
- gemfile: gemfiles/Gemfile-rails-main
|
|
ruby: '2.1'
|
|
- gemfile: gemfiles/Gemfile-rails-main
|
|
env: DEVISE_ORM=mongoid
|
|
- gemfile: gemfiles/Gemfile-rails-6-1
|
|
ruby: '2.4'
|
|
- gemfile: gemfiles/Gemfile-rails-6-1
|
|
ruby: '2.3'
|
|
- gemfile: gemfiles/Gemfile-rails-6-1
|
|
ruby: '2.2'
|
|
- gemfile: gemfiles/Gemfile-rails-6-1
|
|
ruby: '2.1'
|
|
- gemfile: gemfiles/Gemfile-rails-6-1
|
|
env: DEVISE_ORM=mongoid
|
|
- gemfile: gemfiles/Gemfile-rails-6-0
|
|
ruby: '3.1'
|
|
- gemfile: gemfiles/Gemfile-rails-6-0
|
|
ruby: '2.4'
|
|
- gemfile: gemfiles/Gemfile-rails-6-0
|
|
ruby: '2.3'
|
|
- gemfile: gemfiles/Gemfile-rails-6-0
|
|
ruby: '2.2'
|
|
- gemfile: gemfiles/Gemfile-rails-6-0
|
|
ruby: '2.1'
|
|
- gemfile: gemfiles/Gemfile-rails-6-0
|
|
env: DEVISE_ORM=mongoid
|
|
- gemfile: gemfiles/Gemfile-rails-5-2
|
|
ruby: '3.1'
|
|
- gemfile: gemfiles/Gemfile-rails-5-2
|
|
ruby: '3.0'
|
|
- gemfile: gemfiles/Gemfile-rails-5-2
|
|
ruby: '2.7'
|
|
- gemfile: gemfiles/Gemfile-rails-5-2
|
|
ruby: '2.2'
|
|
- gemfile: gemfiles/Gemfile-rails-5-2
|
|
ruby: '2.1'
|
|
- gemfile: gemfiles/Gemfile-rails-5-2
|
|
env: DEVISE_ORM=mongoid
|
|
- gemfile: gemfiles/Gemfile-rails-5-1
|
|
ruby: '3.1'
|
|
- gemfile: gemfiles/Gemfile-rails-5-1
|
|
ruby: '3.0'
|
|
- gemfile: gemfiles/Gemfile-rails-5-1
|
|
ruby: '2.7'
|
|
- gemfile: gemfiles/Gemfile-rails-5-1
|
|
ruby: '2.1'
|
|
- gemfile: gemfiles/Gemfile-rails-5-1
|
|
env: DEVISE_ORM=mongoid
|
|
- gemfile: gemfiles/Gemfile-rails-5-0
|
|
ruby: '3.1'
|
|
- gemfile: gemfiles/Gemfile-rails-5-0
|
|
ruby: '3.0'
|
|
- gemfile: gemfiles/Gemfile-rails-5-0
|
|
ruby: '2.7'
|
|
- gemfile: gemfiles/Gemfile-rails-5-0
|
|
ruby: '2.1'
|
|
- gemfile: gemfiles/Gemfile-rails-5-0
|
|
env: DEVISE_ORM=mongoid
|
|
- gemfile: gemfiles/Gemfile-rails-4-2
|
|
ruby: '3.1'
|
|
- gemfile: gemfiles/Gemfile-rails-4-2
|
|
ruby: '3.0'
|
|
- gemfile: gemfiles/Gemfile-rails-4-2
|
|
ruby: '2.7'
|
|
- gemfile: gemfiles/Gemfile-rails-4-2
|
|
ruby: '2.6'
|
|
- gemfile: gemfiles/Gemfile-rails-4-1
|
|
ruby: '3.1'
|
|
- gemfile: gemfiles/Gemfile-rails-4-1
|
|
ruby: '3.0'
|
|
- gemfile: gemfiles/Gemfile-rails-4-1
|
|
ruby: '2.7'
|
|
- gemfile: gemfiles/Gemfile-rails-4-1
|
|
ruby: '2.6'
|
|
- gemfile: gemfiles/Gemfile-rails-4-1
|
|
ruby: '2.5'
|
|
- gemfile: gemfiles/Gemfile-rails-4-1
|
|
ruby: '2.4'
|
|
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 }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Setup Bundler 1.x for Rails 4.x
|
|
if: ${{ matrix.gemfile == 'gemfiles/Gemfile-rails-4-1' || matrix.gemfile == 'gemfiles/Gemfile-rails-4-2' }}
|
|
run: echo "BUNDLER_VERSION=1.17.3" >> $GITHUB_ENV
|
|
- uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: ${{ matrix.ruby }}
|
|
bundler-cache: true # runs bundle install and caches installed gems automatically
|
|
bundler: ${{ env.BUNDLER_VERSION || 'latest' }}
|
|
- uses: supercharge/mongodb-github-action@1.3.0
|
|
if: ${{ matrix.env == 'DEVISE_ORM=mongoid' }}
|
|
- run: bundle exec rake
|