solid-process/solid-result

View on GitHub
.github/workflows/main.yml

Summary

Maintainability
Test Coverage
name: Ruby

on:
  push:
    branches:
      - main

  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    name: Ruby ${{ matrix.ruby }}
    strategy:
      matrix:
        ruby: [2.7, 3.0, 3.1, 3.2, 3.3, head]
    env:
      CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
    steps:
    - uses: actions/checkout@v4
    - name: Set up Ruby
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby }}
        bundler-cache: true
    - name: Run Solid::Result.configuration test (Minitest)
      run: bundle exec rake test_configuration TEST_CONFIG_FREEZING=true

    - name: Run Solid::Result.event_logs test (Minitest)
      run: bundle exec rake test_event_logs_duration Solid_RESULT_TEST_EVENT_LOGS_DURATION=true

    - name: Run tests (Minitest)
      run: bundle exec rake test

    - name: Run static code analysis (Rubocop)
      run: bundle exec rake rubocop

    - name: Run static type checking (Steep)
      run: bundle exec steep check
      if: ${{ matrix.ruby == 3.2 }}

    - uses: paambaati/codeclimate-action@v5
      if: ${{ matrix.ruby == 3.2 && !github.base_ref }}