kafl.fuzzer icon indicating copy to clipboard operation
kafl.fuzzer copied to clipboard

Proposal: CI/CD to enforce best practises

Open Wenzel opened this issue 3 years ago • 1 comments

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 Black and isort
  • code linting with flake8
  • security checks with Bandit, integrated into flake8 via flake8-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 fmt
  • make lint
  • make pre_commit (do all the checks)

Wenzel avatar Oct 03 '22 14:10 Wenzel

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.

il-steffen avatar Oct 03 '22 17:10 il-steffen