Source code syntax checking
Getting Started
git clone ssh://gerrit.opencord.org:29418/voltha-helm-charts.git
cd voltha-helm-charts
make help | grep lint
lint-chart chart_version_check.sh
lint-helm Syntax check helm configs
lint-json Syntax check json sources
lint-license Verify sources contain a license block.
lint-python Syntax check using pylint and flake8
lint-robot Syntax check robot sources using rflint
lint-shell Syntax check bash,bourne,etc sources
lint-yaml Syntax check yaml source using yamllint
UNSTABLE= Build targets prone to failure (lint-helm)
All Sources
The generic lint target can be used to invoke all defined lint targets.
make clean
make lint 2>&1 | tee log
Makefile help
Individual Makefiles support a help target that will display a list of targets and functionality supported.
make help
make help-verbose
make help VERBOSE=1
Helm Charts
Command(s): - helmlint.sh
make clean
make lint-chart lint-helm 2>&1 | tee log
Sources:
Golang
Command:
Sources:
JSON
Command: - json.tool
make clean
make lint-json 2>&1 | tee log
Sources:
License / Copyright notice
Command:
make clean
make lint-license 2>&1 | tee log
Sources:
python
make clean
make lint-python 2>&1 | tee log
Sources:
Notes:
pylint the –py3k option is no longer supported by v3.10+
lint-python target dependency will create a python virtual env
python 3.10+ requires virtual env patching (dynamic, applied when needed).
Robot
Command: rflint
Sources:
reStructedTextFile (rst)
Command: doc8
Sources:
Shell
Command: shellcheck
Sources:
Yaml
Command: yamllint
make clean
make lint-yaml 2>&1 | tee log
Sources:
Bugs
jira::VOLTHA <https://jira.opencord.org/projects/VOL>-
Include repository URL
Include gerrit/github changeset if available.
A logfile snippet of the error and surrounding context.
Repositories
Notes
Make lint complaints are not necessarily fatal.
Volume problem reports require cleanup before linting can become a default.
Lint target support is globally available across repositories, given time it will be. Submit patches as needed or open a jira ticket to request linting support in specific repositories.
Makefile refactoring: yes absolutely! Baby steps are needed in the interim…