c6b6f269cc
Prior to this, no user documentation of dib-lint existed, which meant users had to read the dib-lint code itself to figure out how it worked. This changes adds documentation on using dib-lint and the checks it currently supports. Change-Id: I285c5cc680dd9fbd9bd3f667ef102be14e248114
51 lines
1.7 KiB
ReStructuredText
51 lines
1.7 KiB
ReStructuredText
dib-lint
|
|
========
|
|
|
|
dib-lint provides a way to check for common errors in diskimage-builder
|
|
elements. To use it, simply run the ``dib-lint`` script in a directory
|
|
containing an ``elements`` directory. The checks will be run against
|
|
every file found under ``elements``.
|
|
|
|
The following is a list of what is currently caught by dib-lint:
|
|
|
|
* executable: Ensure any files that begin with #! are executable
|
|
* indent: Ensure that all source code is using an indent of four spaces
|
|
* element-deps ordering: Ensure all element-deps files are alphabetized
|
|
* /bin/bash: Ensure all scripts are using bash explicitly
|
|
* sete: Ensure all scripts are set -e
|
|
* setu: Ensure all scripts are set -u
|
|
* setpipefail: Ensure all scripts are set -o pipefail
|
|
* dibdebugtrace: Ensure all scripts respect the DIB_DEBUG_TRACE variable
|
|
* tabindent: Ensure no tabs are used for indentation
|
|
* newline: Ensure that every file ends with a newline
|
|
* mddocs: Ensure that only markdown-formatted documentation is used
|
|
* yaml validation: Ensure that any yaml files in the repo have valid syntax
|
|
|
|
Some of the checks can be omitted, either for an entire project or for an
|
|
individual file. Project exclusions go in tox.ini, using the following
|
|
section format::
|
|
|
|
[dib-lint]
|
|
ignore=sete setpipefail
|
|
|
|
This will cause the set -e and set -o pipefail checks to be ignored.
|
|
|
|
File-specific exclusions are specified as a comment in the relevant file,
|
|
using the following format::
|
|
|
|
# dib-lint: disable=sete setpipefail
|
|
|
|
This will exclude the same tests, but only for the file in which the comment
|
|
appears.
|
|
|
|
Only some of the checks can be disabled. The ones available for exclusion are:
|
|
|
|
* executable
|
|
* indent
|
|
* sete
|
|
* setu
|
|
* setpipefail
|
|
* dibdebugtrace
|
|
* tabindent
|
|
* newline
|
|
* mddocs
|