kafl.fuzzer
kafl.fuzzer copied to clipboard
Proposal: CI/CD to enforce best practises
Issue
kafl.fuzzer has no CI/CD mechanism in place, and the code currently merged into master has not garantee or code quality enforcements whatsoever.
Proposal
Deploy a CI to perform basic code quality enforcements:
- code formatting with
Blackandisort - code linting with
flake8 - security checks with
Bandit, integrated into flake8 viaflake8-bandit - minimum version checks with
vermin - release on Github Release and publish on PyPi (optional)
Also, this should come with helpers on the developer side to verify that their code meet the CI requirements.
I'm thinking about Makefile specific developer targets:
make fmtmake lintmake pre_commit(do all the checks)
Yes please. Why not make format and make check?
For Black, lets see what the changes are. A quick test shows mostly unchanged code, but several instances of uselessly turning a a too long logger/print into 3 lines:
logger(
"still too long line"
)
I'd rather have those parts fixed than blindly reformatting them.