Project

hlrubo

0.0
No commit activity in last 3 years
No release in over 3 years
Homelight Shared Ruby Style Guides
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

HomeLight Rubo

HomeLight shared ruby style configs.

Installation

Add gem to application Gemfile:

group :development do
  gem "hlrubo", require: false
end

And then execute:

$ bundle install

Usage

Create a .rubocop.yml with the following directives:

inherit_gem:
  hlrubo:
    - default.yml

Now, run:

$ bundle exec rubocop

No need to include rubocop in application gemfile.

Hlrubo will install specific versions of:

  • rubocop
  • rubocop-performance
  • rubocop-rails
  • rubocop-rspec

GitHub Actions Integration using Pronto

Notes for below examples:

  • Match ruby-version: '2.6.6' to repo ruby version.
  • Keep "$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" as is.
  • For secrets.PRONTO_TOKEN, create token in https://github.com/project/repo-name/settings/secrets

Basic Implementation Example:

In .github/workflows/pronto.yml of project root add:

name: Pronto
on: [pull_request]

jobs:
  pronto:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - uses: actions/setup-ruby@v1
        with:
          ruby-version: "2.6.6"
      - run: gem install pronto pronto-rubocop hlrubo
      - run: git fetch
      - run: PRONTO_PULL_REQUEST_ID="$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" PRONTO_GITHUB_ACCESS_TOKEN="${{ secrets.PRONTO_TOKEN }}" pronto run -f github_status github_pr -c origin/master

Caching Implementation Example:

Add below to application Gemfile:

group :rubocop do
  gem "hlrubo", require: false
  gem "pronto", require: false
  gem "pronto-rubocop", require: false
end

In .github/workflows/pronto.yml of project root add:

name: Pronto
on: [pull_request]

jobs:
  pronto:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-ruby@v1
        with:
          ruby-version: "2.6.6"
      - uses: actions/cache@v1
        with:
          path: vendor/bundle
          key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
          restore-keys: |
            ${{ runner.os }}-gems-
      - name: Bundle install
        run: |
          bundle config path vendor/bundle
          bundle install --jobs 4 --retry 3 --without default development test
      - run: git fetch
      - run: PRONTO_PULL_REQUEST_ID="$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH")" PRONTO_GITHUB_ACCESS_TOKEN="${{ secrets.PRONTO_TOKEN }}" bundle exec pronto run -f github_pr -c origin/master