Skip to content

planningcenter/balto-rubocop

Repository files navigation

🐺 Balto

Balto is Smart and Fast:

  • Installs your versions of rubocop and rubocop extension gems
  • Only runs on files that have changed
  • Only annotates lines that have changed

Sample config (place in .github/workflows/balto.yml):

name: Balto

on: [pull_request]

jobs:
  rubocop:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - uses: ruby/setup-ruby@v1
      - uses: planningcenter/balto-rubocop@v2

Inputs

Name Description Required Default
rootDirectory The root directory to use for running the action no "."
conclusionLevel Which workflow status should be used when annotations are created. Currently, "failure" and "action_required" show as failures, while everything else (including "neutral") show as successful no "neutral"
additionalGems Comma-separated list of other gems that your RuboCop setup depends on, in addition to gems starting with "rubocop", which are installed by default. no ""

Outputs

Name Description
issuesCount Number of Rubocop violations found

Contributing

Local testing

  1. Setup act (brew install act)
  2. npm test (Note: this will download a large (6-12gb) docker image that matches what is ran on a GitHub action run)