name: build on: [push, pull_request] jobs: test: runs-on: ubuntu-20.04 services: redis: image: redis ports: - 6379:6379 memcached: image: memcached ports: - 11211:11211 strategy: matrix: ruby: - 3.1.2 - 3.0.4 - 2.7.6 - 2.6.10 - 2.5.8 gemfile: - rack_2 - rack_1 - rails_7_0 - rails_6_1 - rails_6_0 - rails_5_2 - rails_4_2 - dalli3 - dalli2 - redis_5 - redis_4 - connection_pool_dalli - active_support_redis_cache_store - active_support_redis_cache_store_pooled - redis_store - active_support_redis_store exclude: - gemfile: rack_1 ruby: 3.1.2 - gemfile: rails_5_2 ruby: 3.1.2 - gemfile: rails_4_2 ruby: 3.1.2 - gemfile: dalli2 ruby: 3.1.2 - gemfile: rack_1 ruby: 3.0.4 - gemfile: rails_5_2 ruby: 3.0.4 - gemfile: rails_4_2 ruby: 3.0.4 - gemfile: dalli2 ruby: 3.0.4 - gemfile: rack_1 ruby: 2.7.6 - gemfile: rails_4_2 ruby: 2.7.6 - gemfile: rails_7_0 ruby: 2.6.10 - gemfile: rails_7_0 ruby: 2.5.8 env: BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile steps: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - run: bundle exec rake