Add documentation for dib-lint
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
This commit is contained in:
parent
11128b0673
commit
c6b6f269cc
51
doc/source/developer/dib_lint.rst
Normal file
51
doc/source/developer/dib_lint.rst
Normal file
@ -0,0 +1,51 @@
|
||||
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
|
@ -32,4 +32,5 @@ review`` to submit changes to the upstream gerrit.
|
||||
invocation
|
||||
caches
|
||||
developing_elements
|
||||
dib_lint
|
||||
stable_interfaces
|
||||
|
Loading…
Reference in New Issue
Block a user