Cache matchers from pattern args #241
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
rspec: | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: [2.7, '3.0', 3.1, 3.2, ruby-head, jruby-9.4, jruby-head] | |
platform: [ubuntu, windows, macos] | |
continue-on-error: ${{ endsWith(matrix.ruby, 'head') }} | |
runs-on: ${{matrix.platform}}-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- run: gem install syntax_suggest | |
timeout-minutes: 5 | |
- run: bundle exec rspec spec --tag=~gitls | |
timeout-minutes: 10 | |
compare: | |
strategy: | |
fail-fast: false | |
matrix: | |
repo: | |
- rails/rails | |
- ruby/ruby | |
- facebook/react | |
platform: [ubuntu, windows, macos] | |
runs-on: ${{matrix.platform}}-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
bundler-cache: true | |
- run: git clone --depth 1 https://github.com/${{ matrix.repo }}.git target | |
timeout-minutes: 5 | |
- if: matrix.platform == 'windows' | |
run: | | |
Set-Location target | |
ruby ..\bin\compare | |
ruby ..\bin\time | |
# id: compare | |
timeout-minutes: 1 | |
- if: matrix.platform != 'windows' | |
run: | | |
cd target | |
../bin/compare | |
../bin/time | |
id: compare | |
timeout-minutes: 2 | |
- run: cd target && ../bin/parse | |
if: failure() && steps.compare.outcome == 'failure' | |
- run: cd target && ../bin/ls | |
if: failure() && steps.compare.outcome == 'failure' | |
- run: cd target && git ls-files | |
if: failure() && steps.compare.outcome == 'failure' | |
- run: cd target && ../bin/ls '*.gitignore' | xargs tail -n +1 | |
if: failure() && steps.compare.outcome == 'failure' | |
- run: cd target && find * | |
if: failure() && steps.compare.outcome == 'failure' | |
- run: cd target && git ls-files -ic --exclude-standard | |
if: failure() && steps.compare.outcome == 'failure' | |
- run: cd target && git diff --no-renames --diff-filter=D --name-only | |
if: failure() && steps.compare.outcome == 'failure' | |
- run: cd target && git ls-files --others --exclude-standard | |
if: failure() && steps.compare.outcome == 'failure' | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: '3.0' | |
bundler-cache: true | |
- run: gem install syntax_suggest | |
timeout-minutes: 5 | |
- run: COVERAGE=1 bundle exec rspec | |
timeout-minutes: 5 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: coverage-report | |
path: 'coverage/*' | |
retention-days: 1 | |
if: ${{ failure() }} | |
timeout-minutes: 5 | |
rubocop: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
bundler-cache: true | |
- run: gem install syntax_suggest | |
timeout-minutes: 5 | |
- run: bundle exec rubocop | |
timeout-minutes: 5 | |
spellr: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
bundler-cache: true | |
- run: gem install syntax_suggest | |
timeout-minutes: 5 | |
- run: bundle exec spellr | |
timeout-minutes: 1 | |
leftovers: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
bundler-cache: true | |
- run: gem install syntax_suggest | |
timeout-minutes: 5 | |
- run: bundle exec leftovers | |
timeout-minutes: 1 | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
bundler-cache: true | |
- run: gem install syntax_suggest | |
timeout-minutes: 5 | |
- run: bundle exec rake build | |
timeout-minutes: 1 |