Skip to content

Add support for Rails 8 #55

Add support for Rails 8

Add support for Rails 8 #55

Workflow file for this run

name: Tests
on:
pull_request:
push:
branches:
- master
jobs:
rspec:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# https://rubyonrails.org/category/releases
# https://rubyonrails.org/maintenance
rails:
- 4.2.0 # not maintained by rails team
- 5.0.0 # not maintained by rails team
- 5.1.0 # not maintained by rails team
- 5.2.0 # not maintained by rails team
- 6.0.0
- 6.1.0
- 7.0.0
- 8.0.0
# https://www.ruby-lang.org/en/downloads/
ruby:
- 2.4.10 # not maintained by ruby team
- 2.5.9 # not maintained by ruby team
- 2.6.10 # not maintained by ruby team
- 2.7.8 # security maintenance phase
- 3.0.6
- 3.1.4
- 3.2.2
exclude:
# rails 4.2.x needs bundler version < 2.0
- rails: 4.2.0
ruby: 2.4.10
- rails: 4.2.0
ruby: 2.5.9
- rails: 4.2.0
ruby: 2.6.10
- rails: 4.2.0
ruby: 2.7.8
- rails: 4.2.0
ruby: 3.0.6
- rails: 4.2.0
ruby: 3.1.4
- rails: 4.2.0
ruby: 3.2.2
# rails 5.x.x won't support Ruby 3+
# https://github.com/rails/rails/issues/38426
- rails: 5.0.0
ruby: 3.0.6
- rails: 5.0.0
ruby: 3.1.4
- rails: 5.0.0
ruby: 3.2.2
- rails: 5.1.0
ruby: 3.0.6
- rails: 5.1.0
ruby: 3.1.4
- rails: 5.1.0
ruby: 3.2.2
- rails: 5.2.0
ruby: 3.0.6
- rails: 5.2.0
ruby: 3.1.4
- rails: 5.2.0
ruby: 3.2.2
# rails 5.2.0 has issues with psych gem with AR
# https://github.com/rails/rails/issues/45590
- rails: 5.2.0
ruby: 2.5.9
# Rails 6 needs ruby >= 2.5.0
- rails: 6.0.0
ruby: 2.4.10
# Rails 6.1 needs ruby >= 2.5.0
- rails: 6.1.0
ruby: 2.4.10
# Rails 7 needs ruby >= 2.7.0
- rails: 7.0.0
ruby: 2.4.10
- rails: 7.0.0
ruby: 2.5.9
- rails: 7.0.0
ruby: 2.6.10
# Rails 8 needs ruby >= 3.1.0
- rails: 8.0.0
ruby: 2.4.10
- rails: 8.0.0
ruby: 2.5.9
- rails: 8.0.0
ruby: 2.6.10
- rails: 8.0.0
ruby: 2.7.8
- rails: 8.0.0
ruby: 3.0.6
services:
postgres:
image: postgres:11-alpine
ports:
- "5432:5432"
env:
POSTGRES_DB: rails_test
POSTGRES_USER: rails
POSTGRES_PASSWORD: password
env:
RAILS_VERSION: ${{ matrix.rails }}
RUBY_VERSION: ${{ matrix.ruby }}
RAILS_ENV: test
DATABASE_URL: "postgres://rails:password@localhost:5432/rails_test"
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Ruby and gems
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Set up database schema
run: bundle exec rake db:migrate --trace
- name: Run tests
run: bundle exec rspec spec