Page MenuHomePhabricator

Add linter for Foodcritic
Open, Needs TriagePublic

Description

Received a request to merge our Foodcritic linter for Chef (https://docs.chef.io/foodcritic.html) upstream.

Would this be of interest at this time, or would you rather prefer not to bother having too many default linters at this time?

Event Timeline

michaeloa raised the priority of this task from to Needs Triage.
michaeloa updated the task description. (Show Details)
michaeloa added a project: Lint.
michaeloa added a subscriber: michaeloa.

The wait list for merging in any lint change is very long right now (Some stuff has been waiting for months).

How common is this linter in the wild?

It's included in the 'chef development kit' now so almost everyone using chef has it. So at least as popular as the puppet linter ;-)

As @cburroughs says, it's the default linter of Chef, so is at least as common in the wild as Chef is.

Foodcritic has a few quirks in its interaction with Arcanist; arc lint --everything sometimes throws up false positives and something with arcanist makes it work poorly with the kitchen test framework, but those special cases are relatively easily handled/ignored. We find it indispensable when working with Chef cookbooks.

But I'm aware that the linters have been somewhat on the backburner for a while, which is why I queried before pushing more diffs at the project. Let me know, now or later, whether this is something you want.

The current code can be found at:
https://github.com/metno/arcanist-support/tree/master/src/linters

D10105 has an example of a linter that's more 'I need to look at the whole repo' instead of individual files.

Content hidden at the moment, though. Will check it when available to see if they do anything special.

Foodcritic has a few quirks in its interaction with Arcanist

Are these issues with specific rules? Or more general/spooky problems?

It's been a while since I've worked on this, but IIRC, it was with some of the rules that look at the entire project; e.g., FC011. Nothing that can't be fixed or configured to work.

cburroughs moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.Apr 20 2016, 3:56 PM