feat: use a dedicated exit code when a config is invalid #1957
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This has us output a dedicated exit code in the event of an invalid configuration file to make it easier to identify those situations in an automated context.
Because we ignore invalid configs rather than hard erroring, supporting this has required adding a new method to our logger interface for tracking if we errored specifically because of an invalid config - while this might seem strange, I think it's actually fine because this is all internal code and it should be straightforward to make it more generic if we find further need for this sort of thing (also tying in somewhat to doing more structured logging)
Relates to #1221 (comment)