opti/panda_doc

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
name: Tests

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  specs:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        ruby:
          - '3.3'
          - '3.2'
          - '3.1'
          - '3.0'
        include:
          - ruby: '3.3'
            coverage: '1'
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
      - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
      - name: Update rubygems
        run: |
          gem update --system
      - uses: actions/cache@v3
        with:
          path: vendor/bundle
          key: bundle-use-ruby-${{ matrix.ruby }}-${{ hashFiles('**/Gemfile.lock') }}
          restore-keys: |
            bundle-use-ruby-${{ matrix.ruby }}-
      - name: Bundle install
        run: |
          bundle config path vendor/bundle
          bundle install --jobs 4 --retry 3
      - name: Run specs
        env:
          SIMPLECOV: ${{ matrix.coverage }}
        run: |
          bundle exec rake spec
      - name: Publish code coverage
        if: ${{ matrix.coverage == '1' && github.actor != 'dependabot[bot]' }}
        uses: paambaati/codeclimate-action@v3.1.1
        env:
          CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}