Commit Graph

462 Commits (b9e1fd18c1acbaa4b0028196f8925ce4e91970d9)
 

Author SHA1 Message Date
Imran Iqbal f3d9196aa0 docs(configuration): improve `yaml-files` code example
* A straight copy/paste of the existing example into the `.yamllint` file results in a `yamllint` error!
5 years ago
Ibrahim AshShohail 881d301883 feat: Support reading config from .yamllint.yml and .yamllint.yaml
Signed-off-by: Ibrahim AshShohail <me@ibrasho.com>
5 years ago
Adrien Vergé b62b424dd4 feat: Lint .yamllint by default 5 years ago
Adrien Vergé ce0336e430 yamllint version 1.17.0 6 years ago
grzesuav 063c854658 feat: Make YAML file extensions configurable 6 years ago
xatier 673bdbd324 fix(truthy): Fix extra whitespace 6 years ago
Remi Pointel cb5fe2c050 add OpenBSD installation instructions. 6 years ago
Adrien Vergé 930c8eea94 docs: Simplify installation instruction in the README 6 years ago
Adrien Vergé f6a24552d9 yamllint version 1.16.0 6 years ago
Adrien Vergé 0ba193331b truthy: Validate options passed to 'allowed-values'
Make sure values passed in allowed values are correct ones. This is
possible thanks to previous commit, and should prevent users from
writing incorrect configurations.
6 years ago
Adrien Vergé f65553c4f7 config: Validate config options with list of enums
Allow rules to declare a list of valid values for an option.

For example, a rule like:

    CONF = {'allowed-values': list}

... allowed any value to be passed in the list (including bad ones).

It is now possible to declare:

    CONF = {'allowed-values': ['value1', 'value2', 'value3']}

... so that the list passed to the options must contain only values in
`['value1', 'value2', 'value3']`.
6 years ago
Adrien Vergé 0fef4c14e7 truthy: Try to make docs on allowed-values more explicit
Edit documentation for the `truthy` rule, in order to:
- add quotes to examples (`'yes'` instead of `yes`) to avoid
  misconfigurations,
- group truthy values in the `allowed-values` option paragraph, for
  easier reading.
6 years ago
Ondrej Vaško 4ef7e05f3a truthy: Add allowed-values configuration option
Allows using key `allowed-values` for `truthy` section in configuration file (#150).

This allows to use configuration `truthy: allowed-values: ["yes", "no",
"..."]`, to set custom allowed truthy values.

This is especially useful for people using ansible, where values like
`yes` or `no` are valid and officially supported, but yamllint reports
them as illegal.

Implemented by difference of set of TRUTHY constants and configured
allowed values.

Signed-off-by: Ondrej Vasko <ondrej.vaskoo@gmail.com>
6 years ago
xatier 43c50379e0 Sort import orders 6 years ago
Adrien Vergé fec2c2fba7 fix(parser): Correctly handle DOS new lines in 'line' rules
Do not consider the trailing `\r` of a line a part of it.
6 years ago
Mateusz Piotrowski 2a66ec2e5e Add FreeBSD installation instructions 6 years ago
Adrien Vergé 37700ab3e6 yamllint version 1.15.0 6 years ago
Adrien Vergé f66661e36d docs(cli): Add a paragraph about standard input
See commit 05dfcbc "cli: Add command line option - to read from standard
input", cc @miguelbarao.
6 years ago
Adrien Vergé d6b89e94e4 chore(docs): Fix conf.py styling 6 years ago
Miguel Barao 05dfcbc109 cli: Add command line option - to read from standard input
If YAML files are given as arguments, parses these files.
If yamllint is run with - option, stdin.
If no arguments are given, just fail.
6 years ago
Adrien Vergé 16b939958d yamllint version 1.14.0 6 years ago
Adrien Vergé b4740dc1fb comments: Fix ignore-shebangs option on corner cases 6 years ago
Mattias Bengtsson b77f78f677 Support ignoring shebangs
Some usages of YAML (like Ansible) supports running the file as a script.

Support (by default) an ignore-shebangs setting for the comments module.

Fixes #116 - comments rule with require-starting-space: true should special case shebang
6 years ago
Adrien Vergé 0f073f7a09 config: Do not require all rule options to be set
Before, it was required to specify all the options when customizing a
rule. For instance, one could use `empty-lines: enable` or `empty-lines:
{max: 1, max-start: 2, max-end: 2}`, but not just `empty-lines: {max:
1}` (it would fail with *invalid config: missing option "max-start" for
rule "empty-lines"*).

This was a minor problem for users, but it prevented the addition of new
options to existing rules, see [1] for an example. If a new option was
added, updating yamllint for all users that customize the rule would
produce a crash (*invalid config: missing option ...*).

To avoid that, let's embed default values inside the rules themselves,
instead of keeping them in `conf/default.yaml`.

This refactor should not have any impact on existing projects. I've
manually checked that it did not change the output of tests, on
different projects:
- ansible/ansible: `test/runner/ansible-test sanity --python 3.7 --test yamllint`
- ansible/molecule: `yamllint -s test/ molecule/`
- Neo23x0/sigma: `make test-yaml`
- markstory/lint-review: `yamllint .`

[1]: https://github.com/adrienverge/yamllint/pull/151
6 years ago
cclauss bc7ac81707 Travis CI: Add Python 3.7 and 3.8a
* Adds Python 3.7.1 and a current nightly build of Python 3.8 alpha.
* Python 3.3 reached its end of life in 2017 https://devguide.python.org/#branchstatus
6 years ago
Adrien Vergé a56a1015f0 style(docs): Fix RST lint errors reported by doc8 6 years ago
Adrien Vergé 6cf5eecdac chore(CI): Lint RST (reStructuredText) files 6 years ago
Hugo f4c56b8216 Upgrade Python syntax with pyupgrade
https://github.com/asottile/pyupgrade
6 years ago
Hugo 5852566ff0 Upgrade unit tests to use more useful asserts 6 years ago
Hugo 4a7986b4cf Remove redundant parentheses 6 years ago
Hugo 3d1ad9a176 Add explicit Trove classifers for PyPI 6 years ago
Hugo 8da6e36bf1 Add python_requires to help pip 6 years ago
Hugo c281d48507 Drop support for EOL Python 2.6 6 years ago
Adrien Vergé 8bdddf6e89 docs: Warn about Python 2 and problems with line-length
Closes #146.
6 years ago
Adrien Vergé c8032c086b line-length: Add tests for lines containing unicode characters
Some unicode characters span accross multiple bytes. Python 3 is OK with
that, but Python 2 reports an incorrect number of characters.

Related to https://github.com/adrienverge/yamllint/issues/146
6 years ago
Adrien Vergé ea045c41b7 CI: Drop Python 3.3 support
The `pkg_resources` package inside `setuptools` explicitly [disallows
Python 3.3](7392f01ffc (diff-81de4a30a55fcc3fb944f8387ea9ec94)):

    if (3, 0) < sys.version_info < (3, 4):
        raise RuntimeError("Python 3.4 or later is required")

It's time to drop support for 3.3.
6 years ago
Adrien Vergé c803dd5f6d docs(CHANGELOG): Fix RST format for code snippets 6 years ago
Adrien Vergé 318a12bbe6 yamllint version 1.13.0 6 years ago
Adrien Vergé 66adaee66c docs: Add documentation on the new -f colored option 6 years ago
sedrubal 5062b91cac cli: Add -f colored to force colors
`-f standard` shows non-colored output,
`-f colored` shows colored output,
`-f auto` is the new default, it chooses `standard` or `colored`
depending on terminal capabilities.
6 years ago
sedrubal 3ef85739e3 Use isinstance(x, y) instead of type(x) == y
Fixes pylint C0123.
6 years ago
Adrien Vergé dc4a9f4fff yamllint version 1.12.1 6 years ago
Adrien Vergé 8354d50016 quoted-strings: Fix broken rule
Original implementation was completely broken. Documentation and actual
behavior were different. Numbers and booleans were detected as wrong, as
well as explicit types.

Fixes #136 and #130.
6 years ago
Adrien Vergé 524d721f0d Update .gitignore to exclude build/ 6 years ago
Adrien Vergé e864f57d37 docs: Fix missing quoted-strings module in documentation 6 years ago
Adrien Vergé d41b64aa97 yamllint version 1.12.0 6 years ago
Guido Wischrop (mgm tp) aaa8777f1d Add quoted-strings rule
* taken from https://github.com/adrienverge/yamllint/pull/110 (submitted by @jurajseffer)
* small fixes for generic and multi-line strings
* fixes for comments from @adrienverge
6 years ago
Adrien Vergé 479f580202 CI: Fix tests failing on Travis for Python 2.6
Because installing dependencies for `coveralls` now fails with:

    Collecting pycparser (from cffi>=1.7->cryptography>=1.3.4; python_version <= "2.7" and extra == "secure"->urllib3[secure]; python_version < "3"->coveralls)
    [...]
    pycparser requires Python '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*' but the running Python is 2.6.9
6 years ago
Justin Foreman e4e99f0aba docs: Update README for CentOS dependency 7 years ago
Adrien Vergé 203cfc20f0 docs: Remove sudo from pip installation instructions 7 years ago