Lint Action and Reorganization of Testing Actions #200
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 PR primarily adds a lint action to our GitHub Actions setup. Some of the existing actions are rearranged to provide better readability for the reviewer.
Lint Action
The action used is detailed here. Basically, on every pull request, it will run
clang-format
andclang-tidy
only on the modified lines of the code. Only static checks are turned on, you should refer to the test actions for actual compilation errors. The results will be reported as annotations (you can see an example here). Please note that this action will never fail so it will never block a merge. The idea is for the reviewer to analyze these results and decide how problematic they are. This is necessary as some of these things are subjective and could also be false positives.Reorganization of Test Actions
With the previous setup, each pull request resulted in 3 different actions being run (one for each OS). These are merged into a single workflow (each OS being a different step). The lint action is also implemented as a step in the same workflow. So everything the reviewer needs to check should be on the same page (again you can see an example here).