slaclab / surf

A huge VHDL library for FPGA development
Other
346 stars 55 forks source link

Check code quality in a continuous way #1193

Open racodond opened 1 month ago

racodond commented 1 month ago

Hi,

I analyzed the VHDL code from your surf project with Linty: https://oss.linty-services.com/dashboard?id=surf&codeScope=overall

Do not get scared by the number of issues :-) It's just to provide you with data to browse. I activated all the rules, some are mutually opposed, others are not properly configured with your requirements (such as naming conventions).

There might be a bug behind that one for instance: https://oss.linty-services.com/project/issues?issues=720eeb02-ef2f-4fe9-a68e-d173f16d4295&open=720eeb02-ef2f-4fe9-a68e-d173f16d4295&id=surf

We offer Linty for free for open-source projects. I'd be glad to organize a call if you're interested in checking code quality in a continuous way through GitHub actions. We also offer our VS Code extension for free: https://hdl-designer.linty-services.com/

I'm looking forward to hearing from you.

Thank you

Have a good day

David Racodon CTO at Linty Services

ruck314 commented 1 month ago

Hi David,

Do you have an example Github CI YAML workflow for VHDL that I can review?

-Larry

racodond commented 1 month ago

Hi Larry,

Sure!

Linty scanner and required tooling is provided as a Docker image. So, automating analyses is quite simple. Here's our GitHub project sample: https://github.com/Linty-Services/bugfinder-sample/blob/main/.github/workflows/linty.yml Here's the documentation: https://doc.linty-services.com/scan.html and https://doc.linty-services.com/scan.html#from-github

David

racodond commented 1 month ago

A simple version here to run analyses on the main branch only: https://github.com/stnolting/neorv32/pull/1027/files#diff-14a0f0d330d013b60b745ff53daf4e6cfa5e5c60776408c4e09045763a38799b

ruck314 commented 1 month ago

How do I obtain the LINTY_TOKEN and the TABBY_CAD_LICENSE for docker's args?

racodond commented 1 month ago

I can create an account for you on our cloud platform. Then, you'll be able to configure the quality profiles (set of rules that apply to your project) to match your coding guidelines and run Linty analyses. I'll provide you with all the necessary information to run your analyses. Could you please send me an email address through https://linty-services.com/contact.html for the account?

Once done, if it's ok with you, let's schedule a video conf to get an overview of Linty and how to configure things.

racodond commented 3 weeks ago

Hi Larry,

Shall I organize a conf call to discuss your needs and Linty?

Thank you

David