rom-rb/rom-http

View on GitHub
.github/workflows/ci.yml

Summary

Maintainability
Test Coverage
# This file is synced from rom-rb/template-gem repo
name: CI

on:
  push:
    paths:
      - ".github/workflows/ci.yml"
      - "lib/**"
      - "*.gemspec"
      - "spec/**"
      - "Rakefile"
      - "Gemfile"
      - "Gemfile.devtools"
      - ".rubocop.yml"
      - "project.yml"
  pull_request:
    branches:
      - master
  create:

jobs:
  tests:
    runs-on: ubuntu-latest
    name: Tests
    strategy:
      fail-fast: false
      matrix:
        ruby:
        - "3.0"
        - "2.7"
        - "2.6"
        - "2.5"
        - "jruby"
        include:
          - ruby: "3.0"
            coverage: "true"
    env:
      COVERAGE: ${{matrix.coverage}}
      COVERAGE_TOKEN: ${{secrets.CODACY_PROJECT_TOKEN}}
    steps:
      - name: Checkout
        uses: actions/checkout@v1
      - name: Install package dependencies
        run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{matrix.ruby}}
      - name: Install latest bundler
        run: |
          gem install bundler --no-document
          bundle config set without 'tools benchmarks docs'
      - name: Bundle install
        run: bundle install --jobs 4 --retry 3
      - name: Run all tests
        run: bundle exec rake
      - name: Run codacy-coverage-reporter
        uses: codacy/codacy-coverage-reporter-action@master
        if: env.COVERAGE == 'true' && env.COVERAGE_TOKEN != ''
        with:
          project-token: ${{secrets.CODACY_PROJECT_TOKEN}}
          coverage-reports: coverage/coverage.xml