name: CI on: [pull_request] permissions: contents: read jobs: # Set the job key. The key is displayed as the job name # when a job name is not provided tests: strategy: matrix: ruby: ["4.0", "3.4", "3.3", "3.2"] name: Tests - Ruby ${{ matrix.ruby }} # Set the type of machine to run on runs-on: ubuntu-latest steps: # Checks out a copy of your repository on the ubuntu-latest machine - name: Checkout code uses: actions/checkout@v4 - uses: actions/cache@v4 with: path: vendor/bundle key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-gems- - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Bundle install run: | bundle config path vendor/bundle bundle install --jobs 8 --retry 3 --without development - name: Run tests run: | bundle exec rake test