Integration with other software

Integration with pre-commit

You can integrate yamllint in pre-commit tool. Here is an example, to add in your .pre-commit-config.yaml

---
# Update the rev variable with the release version that you want, from the yamllint repo
# You can pass your custom .yamllint with args attribute.
- repo: https://github.com/adrienverge/yamllint.git
  rev: v1.17.0
  hooks:
    - id: yamllint
      args: [-c=/path/to/.yamllint]

Integration with GitHub Actions

yamllint auto-detects when it’s running inside of GitHub Actions<https://github.com/features/actions> and automatically uses the suited output format to decorate code with linting errors automatically. You can also force the GitHub Actions output with yamllint --format github.

An example workflow using GitHub Actions:

---
name: yamllint test

on: push

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: 3.8

      - name: Install yamllint
        run: pip install yamllint

      - name: Lint YAML files
        run: yamllint .

Integration with Arcanist

You can configure yamllint to run on arc lint. Here is an example .arclint file that makes use of this configuration.

{
  "linters": {
    "yamllint": {
      "type": "script-and-regex",
      "script-and-regex.script": "yamllint",
      "script-and-regex.regex": "/^(?P<line>\\d+):(?P<offset>\\d+) +(?P<severity>warning|error) +(?P<message>.*) +\\((?P<name>.*)\\)$/m",
      "include": "(\\.(yml|yaml)$)"
    }
  }
}