name: build on: pull_request: push: jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: ruby: [ jruby, 2.6, 2.7, 3.0 ] steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Cache dependencies uses: actions/cache@v1 with: path: vendor/bundle key: ${{ runner.os }}-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-${{ matrix.ruby }}-gems- - name: Install dependencies run: | bundle config path vendor/bundle bundle install --jobs 4 --retry 3 - name: Run tests run: bundle exec rake test lint: needs: test runs-on: ubuntu-latest strategy: matrix: ruby: [ 3.0 ] steps: - uses: actions/checkout@v2 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Cache dependencies uses: actions/cache@v1 with: path: vendor/bundle key: ${{ runner.os }}-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-${{ matrix.ruby }}-gems- - name: Install dependencies run: | bundle config path vendor/bundle bundle install --jobs 4 --retry 3 - name: Run linter run: bundle exec rubocop