name: Continuous Integration on: push: paths-ignore: - ".github/**" - ".VERSION" pull_request: paths-ignore: - ".github/**" - ".VERSION" jobs: tests: if: "!contains(github.event.head_commit.message, 'skip ci')" runs-on: ubuntu-latest strategy: fail-fast: true steps: - name: Checkout source code uses: actions/checkout@v2 - name: Install required ruby uses: ruby/setup-ruby@v1 - name: Setup cache key and directory for gems cache uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-gems- - name: Bundle install run: | bundle config path vendor/bundle bundle config set jobs 4 bundle config set retry 3 bundle install - name: Run rubocop run: | bundle exec rubocop --parallel - name: Run tests run: bundle exec rspec