hakanensari/peddler

View on GitHub
.github/workflows/build.yml

Summary

Maintainability
Test Coverage
name: build

on: [push, pull_request]

jobs:
  rubocop:
    runs-on: ubuntu-latest
    container:
      image: ruby:3.1
    steps:
      - uses: actions/checkout@v3
      - run: gem install bundler
      - run: bundle install
      - run: bundle exec rake rubocop

  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby: [2.7, 3.0, 3.1]
        gemfile: [libxml, nokogiri, ox, rexml]
    container:
      image: ruby:${{ matrix.ruby }}
    steps:
      - uses: actions/checkout@v3
      - run: gem install bundler
      - run: bundle install
      - run: bundle exec appraisal ${{ matrix.gemfile }} bundle install
      - run: bundle exec appraisal ${{ matrix.gemfile }} rake test
        env:
          LC_ALL: C.UTF-8

  documentation:
    runs-on: ubuntu-latest
    container:
      image: ruby:3.1
    steps:
      - uses: actions/checkout@v3
      - run: ./scripts/documentation_crawler.rb

  coverage:
    if: github.event_name == 'push'
    needs: [rubocop, test, documentation]
    runs-on: ubuntu-latest
    container:
      image: ruby:3.0
    steps:
      - uses: actions/checkout@v3
      - run: gem install bundler
      - run: bundle install
      - uses: paambaati/codeclimate-action@v3.0.0
        env:
          CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
          LC_ALL: C.UTF-8
          COVERAGE: true
        with:
          coverageCommand: bundle exec rake test