Integration with other software

Integration with pre-commit

You can integrate yamllint in the 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:
    rev: v1.29.0
      - id: yamllint
        args: [--strict, -c=/path/to/.yamllint]

Integration with GitHub Actions

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

A minimal example workflow using GitHub Actions:

on: push  # yamllint disable-line rule:truthy

    runs-on: ubuntu-latest
      - uses: actions/checkout@v3

      - 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)$)"