Commit Graph

405 Commits (46a12a83a8d183e9f0d49363373cd7a939a7bc55)
 

Author SHA1 Message Date
QuentinN42 46a12a83a8
fix: missed return statement
QuentinN42 3601817dd2
refactor: moved output at the end of the tests
QuentinN42 b858cbbb82
refactor: moved formater inside another file
QuentinN42 81951b3230
chore: ignore venv
Madison Swain-Bowden 4f1bbc33dc
docs: Fix link syntax on integration.rst
Jérôme Alet bb567ba395
comments: Allow whitespace after the shebang marker
Basically, any character is now allowed after the shebang marker.

Closes .

Whitespace after the #! marker on shebang lines is authorized and
optional, as explained on Wikipedia's entry for shebang line as can be
seen from the extracts below :

> White space after #! is optional

and

> It has been claimed[20] that some old versions of Unix expect the
> normal shebang to be followed by a space and a slash (#! /), but this
> appears to be untrue;[21] rather, blanks after the shebang have
> traditionally been allowed, and sometimes documented with a space
Trevor Royer d0392b34ca
github format: Update output to utilize groups
Resolves 

Update the github formatting to utilize groups in the output and provide
the line/column number for the error in the output log.
Trevor Royer 7246a0c800
cli: Separate --format=auto logic
Moved the auto arg_format selection out of the main if block into a
separate logic section to improve readability.

No logic changes.
Dmytro Bondar 9e6dfacceb Fix github actions workflow
- install correct python version
- set `fail-fast: false` to run all jobs
- remove hard-coded value for HOME directory
Dmytro Bondar 11e8d8ff37 Add support for Python 3.10, drop Python 3.5
- Add support for Python 3.10 released on 2021-10-04
- Drop support for Python 3.5 since it has reached end-of-life
Adrien Vergé f2e2e0c366 docs: Update CONTRIBUTING.rst
Be more precise in contributing instructions.
Adrien Vergé 058fef7559 yamllint version 1.26.3
Adrien Vergé f47d5318cf Restore setuptools requirement for Python < 3.8
This reverts commit 8f68248 "Remove runtime dep 'setuptools' for Python
< 3.8". It looks like removing setuptools induces problems on some
systems, see for example the linked discussion.

Fixes https://github.com/adrienverge/yamllint/issues/380.
Adrien Vergé 33ce0fa960 yamllint version 1.26.2
Kyle Finley 43744902e9
setup: update python_requires to comply with PEP 345/440
According to PEP 345 Requires-Python
(https://www.python.org/dev/peps/pep-0345/#requires-python), the value
of this field must be a valid Version Specifier
(https://www.python.org/dev/peps/pep-0345/#version-specifiers). Which
in turn expects this to comply with PEP 440
(https://www.python.org/dev/peps/pep-0440/).

While not an issue for those that directly use `pip`, this will cause
issues for `poetry` users in the next release (if their current stance
is maintained). Discussion of the issue and there stance can be found
here: https://github.com/python-poetry/poetry/issues/4095.
Adrien Vergé 85ccd625a3 yamllint version 1.26.1
Patryk Małek e53ea093e2
line_length: skip all hash signs starting comment
Adrien Vergé 5d8ef2ea23 CI: Simplify 'pip' commands
Adrien Vergé 4515269233 CI: Fix failing 'coverage' command because of $PATH
Very probably due to:
https://github.com/actions/virtual-environments/issues/2455#issuecomment-787511010
Adrien Vergé 66bf76a362 CI: Switch to GitHub Actions
Because Travis CI is dead.
Daniel M. Capella 8f682481c7
Remove runtime dep 'setuptools' for Python < 3.8
> In recent versions of setuptools and Python, console-script entry
points are using stdlib importlib by default, thus setuptools is no
longer needed as a runtime dependency.

https://github.com/pypa/setuptools/pull/2197
https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v4730
https://docs.python.org/3/library/importlib.metadata.html
Adrien Vergé 0fff4e29e4 yamllint version 1.26.0
Adrien Vergé 1b378ed5b9 quoted-strings: Fix explicit octal recognition
PyYAML implements YAML spec version 1.1, not 1.2. Hence, values starting
with `0o` are not considered as numbers: they are just strings, so they
need quotes when `quoted-strings: {required: true}`.

>>> import yaml
>>> yaml.resolver.Resolver().resolve(yaml.nodes.ScalarNode, '100', (True, False))
'tag:yaml.org,2002:int'
>>> yaml.resolver.Resolver().resolve(yaml.nodes.ScalarNode, '0100', (True, False))
'tag:yaml.org,2002:int'
>>> yaml.resolver.Resolver().resolve(yaml.nodes.ScalarNode, '0o100', (True, False))
'tag:yaml.org,2002:str'

Let's try to prevent that.

Fixes https://github.com/adrienverge/yamllint/issues/351.
Adrien Vergé a3fc64d134 End support for Python 2
As planned and advertized, yamllint drops support for Python 2 on 2021.
Rusty Geldmacher ee4d163ff8
Allow only non-empty brackets/braces
We'd like to disallow brackets and braces in our YAML, but there's a
catch: the only way to describe an empty array or hash in YAML is to
supply an empty one (`[]` or `{}`). Otherwise, the value will be null.

This commit adds a `non-empty` option to `forbid` for brackets and
braces. When it is set, all flow and sequence mappings will cause errors
_except_ for empty ones.
Jason Mobarak 22335b294d Add support for Python 3.9, drop Python 3.4
Add support for Python 3.9 since it was officially released in October
and drop support for Python 3.4 since it is end-of-life (EOL).
Rex Ledesma 0f9dffde23
docs: Add configuration for integration with Arcanist
Mathieu Couette cef0b48993 tests: Add unittest aliases to Python 2.7
Mathieu Couette 11b1f1c14e tests: Fix indentation issues
Mathieu Couette 9ee8c27ac9 tests: Replace deprecated aliases
https://docs.python.org/3/library/unittest.html#deprecated-aliases
Florian Bruhin 8eebab68ab Fix typo in changelog
Per Lundberg 2103bd73de README.rst: fix typo
Adrien Vergé 85c8631183 tests: Stop using deprecated 'python setup.py test'
Using `python setup.py test` is now deprecated [1], users are encouraged
to be explicit about the test command.

Running yamllint tests using the Python standard library (`unittest`)
can be done using:

    python -m unittest discover

Why not nose, tox or pytest? Because they would add a dependency, make
tests running more complicated and verbose for new users, and their
benefit is not worth for this simple project (only 2 runtime
dependencies: PyYAML and pathspec).

Resolves https://github.com/adrienverge/yamllint/issues/328.

[1]: https://github.com/pypa/setuptools/pull/1878
Adrien Vergé 16e0f9d7b2 yamllint version 1.25.0
Mathieu Couette 1a4f9fe00f
gitignore: Add /.eggs
Quick PR to ignore the `/.eggs` folder, which appears to be generated every
time the `python setup.py test` command is run.

The content of the `./.eggs/README.txt` file:

> This directory contains eggs that were downloaded by setuptools to build,
> test, and run plug-ins.
> 
> This directory caches those eggs to prevent repeated downloads.
> 
> However, it is safe to delete this directory.
Mathieu Couette 027d1b0a9a
directives: Fix DOS lines messing with rule IDs
Fixes 

The linter allows a directive to contain trailing whitespace characters like
\r, but does not trim them before iterating on the rules. As a result, the last
rule in the list contains the trailing whitespace characters and never matches
any existing rule.

I added the necessary trimming, as well as a test with 2 checks to go along
with it.
Andrew Imeson 67cb4eb24d Auto-change output format if GitHub Actions detected
Andrew Imeson 50c7453824 Add support for GitHub Annotations output format
Support the format used by GitHub Actions to annotate pull
requests with linter failures
Satoru SATOH 549b136a04 fix: add runtime dependency to setuptools
yamllint depends on pkg_resources.load_entry_point from setuptools to
make its command working, so this runtime dependency to setuptools is
necessary to be listed.
Satoru SATOH 333ae52c78 Add 'forbid' configurations to the braces and brackets rules
Add 'forbid' configuration parameters to the braces and brackets rules
to allow users to forbid the use of flow style collections, flow
mappings and flow sequences.
Julien Falque 0a88c55194
quoted-strings: Fix detecting strings with hashtag as requiring quotes
Julien Falque ac19d1e427
octal-values: Prevent detection of 8 and 9 as octal values
Adrien Vergé 597e88bb7b docs: Make 'yaml-file' config documentation clearer
Related to https://github.com/adrienverge/yamllint/issues/311.
Satoru SATOH 29d2b50d50 enhancement: add some metadata to provide extra info in its PyPI page
Add some metadata (project_urls) to provide extra info in its PyPI page.

Signed-off-by: Satoru SATOH <satoru.satoh@gmail.com>
Satoru SATOH 4171cdafc9 Move setuptools' packaging configuration from setup.py to setup.cfg
Move setuptools' packaging configuration from setup.py to setup.cfg to
simplify setup.py and make its packaging more dedeclarative.

Signed-off-by: Satoru SATOH <satoru.satoh@gmail.com>
Sorin Sbarnea d274543b72
docs: Add Python API usage example
Fixes: 
Kirill Deyko 8da98f2122
commas: Fix example in documentation
Error in the example snippet, it would NOT pass otherwise actually:
```
$ cat test.yml
strange var:
  [10, 20,30, {x: 1, y: 2}]

$ yamllint -d "{extends: default, rules: {commas: {min-spaces-after: 1, max-spaces-after: 1}}}" test.yml
test.yml
  1:1       warning  missing document start "---"  (document-start)
  2:11      error    too few spaces after comma  (commas)
```
Benjamin Wuethrich b65769c9d2
docs: Add default values to rules with options
Wolfgang Walther b80997eba6
CI: Add build environment without UTF-8 locales to travis-ci
Preventing regressions like 
Adrien Vergé 8b758d4e7e yamllint version 1.24.2