Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: CI/CD to enforce best practises #14

Open
Wenzel opened this issue Oct 3, 2022 · 1 comment
Open

Proposal: CI/CD to enforce best practises #14

Wenzel opened this issue Oct 3, 2022 · 1 comment

Comments

@Wenzel
Copy link
Collaborator

Wenzel commented Oct 3, 2022

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)
@il-steffen
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants