A Github action to run pronto.
This action support the following pronto runners.
- pronto-brakeman
- pronto-eslint_npm
- pronto-rails_best_practices
- pronto-reek
- pronto-rubocop
- pronto-scss
- pronto-slim_lint
- pronto-sorbet
This action support the following rubocop extentions.
- Rubocop Official Extensions
- Third-party Extensions (introduced in official docs)
- Other Extensions
pronto-rubocop supports suggestion comments on Github pullrequest. see https://github.com/prontolabs/pronto-rubocop#suggestions
Create Github workflow definition yaml file in .github/workflows directory of your repository.
This action can be configured by the following input parameters.
name | require | default | description |
---|---|---|---|
github_token | false | ${{ github.token }} | default value is setted by github workflow automatically. |
commit | false | origin/${{ github.base_ref }} |
Commit for the diff. ( origin/main , if base of pullrequest is main ) |
runner | false | rubocop |
Run only the passed runners. |
formatters | false | github_status github_pr |
Pick output formatters. |
path | false | '.' |
Relative path to check. |
see Pronto usage.
The followoing yaml is a simplest workflow difinition of using pronto-action.
name: Pronto
on:
pull_request:
types: [opened, synchronize]
jobs:
pronto:
runs-on: ubuntu-latest
permissions:
pull-requests: write
statuses: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: HeRoMo/[email protected]
By using eslint_npm runner, you can check your code by eslint.
To use eslint_npm, setup Node.js and run yarn install
(or npm install
) before using pronto-action.
The following yaml define a workflow use eslint_npm.
name: Pronto
on:
pull_request:
types: [opened, synchronize]
jobs:
eslint_npm:
runs-on: ubuntu-latest
permissions:
pull-requests: write
statuses: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version-file: '18'
cache: 'yarn'
- name: yarn install
run: yarn install
- name: pronto run
uses: HeRoMo/[email protected]
with:
runner: eslint_npm
If does not work successfully, configure elint_npm with .pronto_eslint_npm.yml file. see Configuration of ESLintNPM
When Read repository contents permission in Settings/Actions of the repository is setted, you have to add permissions
to the Github workflow difinition YAML.
The following permissions are required.
- pull-requests: write
- statuses: write
The followoing yaml is a workflow difinition of pronto-action with permissions.
name: Pronto
on:
pull_request:
types: [opened, synchronize]
jobs:
pronto:
runs-on: ubuntu-latest
permissions:
pull-requests: write
statuses: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: HeRoMo/[email protected]