.github/workflows/ci.yml
name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ruby: ["2.7", "3.0", "3.1"]
appraisal: ['6.0', '6.1', '6.2', '6.3', '6.4', '6.5', '7.0', 'master']
services:
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 6379:6379
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: false
- name: Bundle for Appraisal
run: bundle
- name: Run Rubocop linting
run: bundle exec rubocop
- name: Install Appraisal dependencies
run: bundle exec appraisal sidekiq-${{ matrix.appraisal }} bundle
- name: Run tests
run: bundle exec appraisal sidekiq-${{ matrix.appraisal }} bundle exec rake