An open API service indexing awesome lists of open source software.

https://github.com/reviewdog/action-ansiblelint

Run ansible-lint with reviewdog 🐕
https://github.com/reviewdog/action-ansiblelint

Last synced: about 1 month ago
JSON representation

Run ansible-lint with reviewdog 🐕

Awesome Lists containing this project

README

          

# GitHub Action: Run ansible-lint with reviewdog 🐕

[![Docker Image CI](https://github.com/reviewdog/action-ansiblelint/workflows/Docker%20Image%20CI/badge.svg?branch=master)](https://github.com/reviewdog/action-ansiblelint/actions)
[![Release](https://img.shields.io/github/v/release/reviewdog/action-ansiblelint?logoColor=orange)](https://github.com/reviewdog/action-ansiblelint/releases)

This action runs [ansible-lint](https://github.com/ansible/ansible-lint) with
[reviewdog](https://github.com/reviewdog/reviewdog) on pull requests to improve
code review experience.

[![github-pr-check sample](https://user-images.githubusercontent.com/20274882/90307579-67142400-df12-11ea-96e9-62710cb1fff0.png)](https://github.com/reviewdog/action-ansiblelint/pull/1)
[![github-pr-review sample](https://user-images.githubusercontent.com/20274882/90307608-c70aca80-df12-11ea-9556-921f1e7e6281.png)](https://github.com/reviewdog/action-ansiblelint/pull/1)

## Inputs

### `github_token`

Optional. `${{ github.token }}` is used by default.

### `level`

Optional. Report level for reviewdog [info,warning,error].
It's same as `-level` flag of reviewdog.

### `reporter`

Reporter of reviewdog command [github-pr-check,github-check,github-pr-review].
Default is github-pr-check.
It's same as `-reporter` flag of reviewdog.

github-pr-review can use Markdown and add a link to rule page in reviewdog reports.

### `filter_mode`

Optional. Filtering mode for the reviewdog command [added,diff_context,file,nofilter]. Default is added.

### `fail_level`

Optional. If set to `none`, always use exit code 0 for reviewdog.
Otherwise, exit code 1 for reviewdog if it finds at least 1 issue with severity greater than or equal to the given level.
Possible values: [`none`, `any`, `info`, `warning`, `error`]
Default is `none`.

### `fail_on_error`

Deprecated, use `fail_level` instead.
Optional. Exit code for reviewdog when errors are found [true,false]. Default is `false`.

### `reviewdog_flags`

Optional. Additional reviewdog flags.

### `ansiblelint_version`

Optional. The ansible-lint version to use. Default is `5.3.2`.

### `ansiblelint_flags`

Optional. Flags and args of ansible-lint command.

## Example usage

You can create [ansible-lint config](https://docs.ansible.com/ansible-lint/configuring/configuring.html).

### [.github/workflows/reviewdog.yml](.github/workflows/reviewdog.yml)

```yml
name: reviewdog
on: [pull_request]
jobs:
ansible-lint:
name: runner / ansible-lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-python@e9aba2c848f5ebd159c070c61ea2c4e2b122355e # v2.3.4
with:
python-version: "3.6"
- name: ansible-lint
uses: reviewdog/action-ansiblelint@5b8ca4b12dcbcdf63d4739dacd90609abafe8924 # v1.17.0
with:
github_token: ${{ secrets.github_token }}
reporter: github-pr-review # Change reporter.
ansiblelint_flags: '-x core playbook/*'
```