-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Related to #70
Add a continuous integration pipeline to check for code quality. Protect main branch from merge requests where this CI fails. Configure linters to run in the CI with appropriate config settings.
Suggest flake8 and pylint with minimal configurations.
One custom config we will likely need is increasing the valid number of args to a class e.g. dataclasses. As we can't really get around the high number of parameters some of the components and assemblies are going to have, and breaking these down into a tree structure simply to satisfy a max_args=5 condition on the linter rather than make some meaningful distinction, is probably not useful.
I would suggest we enforce a line limit. black is an excellent tool for automatically reformatting code to a given line limit, which would reduce the person-time required to apply the limit to existing code.