Skip to content

Merge pull request #1427 from mbj/add/test-setup-hooks #1638

Merge pull request #1427 from mbj/add/test-setup-hooks

Merge pull request #1427 from mbj/add/test-setup-hooks #1638

Workflow file for this run

name: CI
on: push
jobs:
base:
name: Base steps
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check Whitespace
run: git diff --check -- HEAD~1
ruby-spec:
name: Unit Specs
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
ruby: [ruby-3.0, ruby-3.1.2, ruby-3.1, ruby-3.2, ruby-3.3]
os: [ubuntu-latest]
include:
- os: macos-latest
ruby: ruby-3.2
- os: macos-latest
ruby: ruby-3.1
- os: macos-latest
ruby: ruby-3.0
execution:
- bundle exec rspec spec/unit
- bundle exec mutant environment test run spec/unit
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: ${{ matrix.execution }}
ruby-mutant:
name: Mutation coverage
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
ruby: [ruby-3.0, ruby-3.1.2, ruby-3.1, ruby-3.2, ruby-3.3]
os: [ubuntu-latest]
include:
- os: macos-latest
ruby: ruby-3.2
- os: macos-latest
ruby: ruby-3.1
- os: macos-latest
ruby: ruby-3.0
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec mutant run --zombie --since HEAD~1
ruby-integration-misc:
name: Integration Misc
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
ruby: [ruby-3.0, ruby-3.1.2, ruby-3.1, ruby-3.2, ruby-3.3]
os: [ubuntu-latest]
include:
- os: macos-latest
ruby: ruby-3.2
- os: macos-latest
ruby: ruby-3.1
- os: macos-latest
ruby: ruby-3.0
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: |
bundle exec rspec \
spec/integration/mutant/null_spec.rb \
spec/integration/mutant/isolation/fork_spec.rb \
spec/integration/mutant/test_mutator_handles_types_spec.rb \
spec/integration/mutant/parallel_spec.rb
ruby-integration-minitest:
name: Integration Minitest
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
ruby: [ruby-3.0, ruby-3.1.2, ruby-3.1, ruby-3.2, ruby-3.3]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- 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: [ruby-3.0, ruby-3.1.2, ruby-3.1, ruby-3.2, ruby-3.3]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rspec spec/integration -e rspec
ruby-integration-generation:
name: Integration Mutation Generation
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
ruby: [ruby-3.0, ruby-3.1.2, ruby-3.1, ruby-3.2, ruby-3.3]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rspec spec/integration -e generation
ruby-rubocop:
name: Rubocop
runs-on: ${{ matrix.os }}
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
ruby: [ruby-3.0, ruby-3.1.2, ruby-3.1, ruby-3.2, ruby-3.3]
os: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rubocop