grodowski/undercover

View on GitHub
.github/workflows/ruby.yml

Summary

Maintainability
Test Coverage
name: Ruby
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby: ['3.3', '3.0']
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0 # fetch all since test fixtures depend on history
      - name: Set up Ruby ${{ matrix.ruby }}
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
      - name: Build and test with Rake
        run: |
          gem install bundler undercover --no-doc
          bundle install --jobs 4 --retry 3
          bundle exec rake
      - name: undercover (local)
        run: |
          git fetch --update-head-ok origin master:master
          undercover --compare master
      - uses: actions/upload-artifact@v4
        with:
          name: undercover-${{ matrix.ruby }}.lcov
          path: coverage/lcov/undercover.lcov
  coverage:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - uses: actions/download-artifact@v4
        with:
          name: undercover-3.3.lcov
      - name: Upload coverage
        run: |
          ruby -e "$(curl -s https://undercover-ci.com/uploader.rb)" -- \
            --repo grodowski/undercover \
            --commit ${{ github.event.pull_request.head.sha || github.sha }} \
            --lcov /home/runner/work/undercover/undercover/undercover.lcov