ruby-concurrency/concurrent-ruby

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
name: CI
on: [push, pull_request]
concurrency:
  group: ${{ github.ref }}
  cancel-in-progress: true

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 10

    strategy:
      fail-fast: false
      matrix:
        ruby: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, 3.2, 3.3, jruby, truffleruby]

    env:
      JAVA_OPTS: '-Xmx1024m'
      RUBYOPT: '-w'
      JRUBY_OPTS: '--dev'

    name: "Tests: Ruby ${{ matrix.ruby }}"
    steps:
    - name: Clone Repo
      uses: actions/checkout@v4
    - name: Setup Ruby ${{ matrix.ruby }}
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby }}
        bundler-cache: true
    - name: Run tests
      run: bundle exec rake ci

  isolated:
    name: "Test isolated"
    runs-on: ubuntu-latest
    timeout-minutes: 10
    strategy:
      fail-fast: false
      matrix:
        ruby: [ 2.3, ruby ] # oldest and latest CRuby
    env:
      RUBYOPT: '-w'
    steps:
      - uses: actions/checkout@v4
      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
          bundler-cache: true
      - run: bundle exec rake compile
      - run: bundle exec rake spec:isolated