.github/workflows/ci.yml
name: ci
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
test:
runs-on: ${{ matrix.os }}
name: Ruby ${{matrix.ruby}} | OS ${{matrix.os}}
strategy:
fail-fast: false
matrix:
ruby: [ '3.3', '3.2', jruby ]
os: [ ubuntu-latest, macos-latest ]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v4
with:
path: vendor/bundle
key: bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
bundle-use-ruby-${{ matrix.os }}-${{ matrix.ruby }}-
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: bundle install
run: |
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: Run tests
run: bin/rspec
- name: Run suffix checker
run: spec/suffix_checker.rb
- name: Run linter
run: bin/rubocop
continue-on-error: true