hschne/mr-loga-loga

View on GitHub
.github/workflows/main.yml

Summary

Maintainability
Test Coverage
name: main

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

jobs:
  test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        ruby-version: ["3.1", "3.0", "2.7", "2.6"]
      fail-fast: false

    steps:
    - uses: actions/checkout@v4

    - name: Set up Ruby ${{ matrix.ruby-version }}
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby-version }}
        bundler-cache: true

    - name: Run Tests ✅
      run: |
        bundle exec rake spec
      env:
        COVERAGE: true
        CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}

    - name: Report Coverage
      # We don't need to upload coverage multiple times, just do it for latest versions, and only on master
      if: github.ref == 'refs/heads/main' && matrix.ruby-version == 3.1
      uses: paambaati/codeclimate-action@v5.0.0
      env:
        CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}

  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          bundler-cache: true

      - name: Run RuboCop 🚓
        run: bundle exec rake rubocop

      - name: Lint Commits 📝
        uses: wagoid/commitlint-github-action@v6