name: CI on: push jobs: base: name: Base steps runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Check Whitespace run: git diff --check -- HEAD~1 ruby-spec: name: Unit Specs runs-on: ${{ matrix.os }} timeout-minutes: 5 strategy: fail-fast: false matrix: ruby: ['2.6', '2.7'] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 - uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - run: | gem install bundler bundle install - run: bundle exec rspec spec/unit ruby-mutant: name: Mutation coverage runs-on: ${{ matrix.os }} timeout-minutes: 30 strategy: fail-fast: false matrix: ruby: ['2.6', '2.7'] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - run: | gem install bundler bundle install - run: ./mutant.sh ruby-integration-minitest: name: Integration Minitest runs-on: ${{ matrix.os }} timeout-minutes: 5 strategy: fail-fast: false matrix: ruby: ['2.6', '2.7'] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 - uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - run: gem list - run: | gem install bundler bundle install - run: bundle exec rspec spec/integration -e minitest ruby-integration-rspec: name: Integration RSpec runs-on: ${{ matrix.os }} timeout-minutes: 10 strategy: fail-fast: false matrix: ruby: ['2.6', '2.7'] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 - uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - run: | gem install bundler bundle install - run: bundle exec rspec spec/integration -e rspec ruby-integration-generation: name: Integration Mutation Generation runs-on: ${{ matrix.os }} timeout-minutes: 5 strategy: fail-fast: false matrix: ruby: ['2.6', '2.7'] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 - uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - run: | gem install bundler bundle install - run: bundle exec rspec spec/integration -e generation ruby-rubocop: name: Rubocop runs-on: ${{ matrix.os }} timeout-minutes: 5 strategy: fail-fast: false matrix: ruby: ['2.7'] os: [ubuntu-latest] steps: - uses: actions/checkout@v2 - uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - run: bundle install - run: bundle exec rake metrics:rubocop