Skip to content

Test on Rails 7.2

Test on Rails 7.2 #49

Workflow file for this run

name: Test
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CI: "true"
jobs:
test:
runs-on: ubuntu-22.04
services:
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps port 6379 on service container to the host
- 6379:6379
strategy:
fail-fast: false
matrix:
gemfile: ['rails_5.2', 'rails_6.0', 'rails_6.1', 'rails_7.0', 'rails_7.1', 'rails_7.2']
ruby: ['2.4', '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3']
exclude:
# Rails 5.2 requires Ruby < 3.0
# https://github.com/rails/rails/issues/40938
- ruby: '3.0'
gemfile: 'rails_5.2'
- ruby: '3.1'
gemfile: 'rails_5.2'
- ruby: '3.2'
gemfile: 'rails_5.2'
- ruby: '3.3'
gemfile: 'rails_5.2'
# Rails >= 6 requires Ruby >= 2.5
- ruby: '2.4'
gemfile: 'rails_6.0'
- ruby: '2.4'
gemfile: 'rails_6.1'
# Rails >= 7 requires Ruby >= 2.7
- ruby: '2.4'
gemfile: 'rails_7.0'
- ruby: '2.5'
gemfile: 'rails_7.0'
- ruby: '2.6'
gemfile: 'rails_7.0'
- ruby: '2.4'
gemfile: 'rails_7.1'
- ruby: '2.5'
gemfile: 'rails_7.1'
- ruby: '2.6'
gemfile: 'rails_7.1'
- ruby: '2.4'
gemfile: 'rails_7.2'
- ruby: '2.5'
gemfile: 'rails_7.2'
- ruby: '2.6'
gemfile: 'rails_7.2'
- ruby: '2.7'
gemfile: 'rails_7.2'
- ruby: '3.0'
gemfile: 'rails_7.2'
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Run tests
run: bundle exec rake
tests:
runs-on: ubuntu-latest
needs: test
if: always()
steps:
- name: All tests ok
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: exit 0
- name: Some tests failed
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1