summaryrefslogtreecommitdiffstats
path: root/docs/integration.rst
blob: 9a6a935bfe01d47dea075172ae0c0dd3c89b40ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Integration with other software
===============================

Integration with pre-commit
---------------------------

You can integrate yamllint in the `pre-commit <https://pre-commit.com/>`_ tool.
Here is an example, to add in your .pre-commit-config.yaml

.. code:: 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.
  repos:
    - repo: https://github.com/adrienverge/yamllint.git
      rev: v1.29.0
      hooks:
        - id: yamllint
          args: [--strict, -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. You can also force
the GitHub Actions output with ``yamllint --format github``.

A minimal example workflow using GitHub Actions:

.. code:: yaml

   ---
   on: push  # yamllint disable-line rule:truthy

   jobs:
     lint:
       runs-on: ubuntu-latest
       steps:
         - 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.

.. code:: json

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