name: build on: push: schedule: - cron: '20 5 * * 1' workflow_dispatch: jobs: test: runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: ruby-version: - 3.2 - 3.1 - 3.0 - 2.7 - 2.6 - 2.5 - 2.4 - 2.3 - 2.2 - jruby-9.4.3.0 - jruby-9.2.14.0 - truffleruby-23.0.0 - truffleruby-22.1.0 rack-version: - # default Rack version include: - ruby-version: 2.7 rack-version: ~>1.2.0 - ruby-version: 2.7 rack-version: ~>1.2 - ruby-version: 2.7 rack-version: ~>2.0.0 - ruby-version: 2.7 rack-version: ~>2.0 - ruby-version: 2.7 rack-version: ~>3.0 - ruby-version: 2.7 rack-version: ~>3.0.0 - ruby-version: 3.2 rack-version: ~>1.2.0 - ruby-version: 3.2 rack-version: ~>1.2 - ruby-version: 3.2 rack-version: ~>2.0.0 - ruby-version: 3.2 rack-version: ~>2.0 - ruby-version: 3.2 rack-version: ~>3.0 - ruby-version: 3.2 rack-version: ~>3.0.0 steps: - uses: actions/checkout@v2 - name: Set up Ruby ${{ matrix.ruby-version }} uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true - name: Specify "rack" gem version ${{ matrix.rack-version }} if: ${{ matrix.rack-version }} run: bundle add rack --version="${{ matrix.rack-version }}" - name: Run tests run: bundle exec rspec --format documentation