We have a CI job which roughly does this:
arc lint --rev=${PREVIOUS_COMMIT_HASH} --never-apply-patches --only-changed --severity=advice
This is an optimization so that we don't have to lint the entire repository (which takes several hours) on every push. The idea is that we only lint the changes since the last build. The problem here is that --only-changed doesn't raise linter messages for cases in which a change to one line causes a linter violation on another line. For example:
>>> Lint for REDACTED: Auto-Fix (TXT8) Leading Whitespace at BOF This file contains leading whitespace at the beginning of the file. This is unnecessary and should be avoided when possible. >>> - 1 - 2 // @import "variables.less"; + 3 @import (reference) "../../theme/variables.less"; 4 @import (reference) "../../libs/mixins.less"; 5
From the output of arc lint --help, it seems that arc lint --only-new is what we should be using (rather than arc lint --only-changed). The problem is that arc lint --only-new relies on the diffusion.getlintmessages Conduit method, which I'm not sure works at the moment.