Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add O2 linter #7066

Draft
wants to merge 72 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
34d8872
Add custom code linter
vkucera Jul 19, 2024
72eccda
Add TestHfNameStruct
vkucera Jul 19, 2024
99b22fb
Add TestHfNameFileWorkflow
vkucera Jul 19, 2024
9e6955d
Add TestNameWorkflow
vkucera Jul 19, 2024
b0b5a75
Implement TestHfStructMembers
vkucera Jul 19, 2024
578ec78
Add functions for cases. Add TestHfNameConfigurable
vkucera Jul 19, 2024
822cf82
Add TestNameConstant
vkucera Jul 19, 2024
00afd3c
Extensions and documentation improvements.
vkucera Jul 19, 2024
c971ca2
Fix activation order
vkucera Jul 19, 2024
d0a8965
Fix TestHfNameConfigurable
vkucera Jul 19, 2024
22f89ed
Add TestConstRefInForLoop
vkucera Jul 19, 2024
92f1509
Add TestConstRefInSubscription
vkucera Jul 19, 2024
befe5da
Unify error printing
vkucera Jul 20, 2024
4bdd043
Add is_comment_cpp. Skip empty lines. Improve TestNameFunction.
vkucera Jul 21, 2024
f004aef
Spot more false positives in TestNameFunction
vkucera Jul 21, 2024
f6c15f7
TestNameFunction: Drop ( condition and improve false positive detection.
vkucera Jul 21, 2024
21b7f0b
TestNameFunction: Catch more false positives
vkucera Jul 21, 2024
6712452
TestNameFunction: Treat properly constexpr and arrays.
vkucera Jul 21, 2024
7625b76
Improve TestStdPrefix
vkucera Jul 21, 2024
922ebbe
Rename TestNameFunction -> TestNameFunctionVariable.
vkucera Jul 21, 2024
5d4e915
Fix TestLogging
vkucera Jul 21, 2024
1581acc
Improve TestIOStream, TestUsingStd, TestUsingDirectives
vkucera Jul 21, 2024
b7e5b2f
Add TestPdgDatabase, TestPdgCode
vkucera Jul 21, 2024
ecb6898
Add TestPdgMass
vkucera Jul 22, 2024
18e5e4a
Add test for documentation
vkucera Jul 22, 2024
d04794f
Rename linter
vkucera Jul 22, 2024
e5849d3
TestDocumentationFile: Allow multiple spaces after keyword.
vkucera Jul 22, 2024
7b53253
Add workflow file
vkucera Jul 22, 2024
b8704a4
Print remote
vkucera Jul 22, 2024
03bf762
Fetch master
vkucera Jul 22, 2024
698ad2a
Add origin
vkucera Jul 22, 2024
dcafa93
Annotate only on pull requests.
vkucera Jul 22, 2024
33ba1d9
Simplify
vkucera Jul 22, 2024
00974e7
Hyphenate test names
vkucera Jul 22, 2024
6e9113a
Minor edits
vkucera Jul 22, 2024
00cc7f5
Add option to disable test
vkucera Jul 22, 2024
1502f71
Minor fixes
vkucera Jul 22, 2024
154aa4c
Improve regex
vkucera Jul 22, 2024
0a56540
TestPdgCode, TestDocumentationFile: Improve pattern. TestNameConstant…
vkucera Jul 23, 2024
6f301fe
TestConstRefInForLoop: Fix regex
vkucera Jul 23, 2024
448698c
TestConstRefInSubscriptionL Improve regex
vkucera Jul 23, 2024
d44cd1f
TestStdPrefix: Fix false positives in comments and strings
vkucera Jul 23, 2024
1705893
Remove comments from lines before scanning
vkucera Jul 23, 2024
e70659b
TestConstRefInForLoop: Improve matching
vkucera Jul 23, 2024
baa4701
Replace find with index
vkucera Jul 23, 2024
e4ecde6
TestNameFileCpp: Add more specific rules
vkucera Jul 23, 2024
b7330e2
Rephrase error messages.
vkucera Jul 23, 2024
5b09f92
Add TestNameColumn, TestNameTable
vkucera Jul 23, 2024
59dd4c7
Fixes
vkucera Jul 24, 2024
300ca6e
Add TestNameDevice
vkucera Jul 25, 2024
87cee5a
TestNameDevice: Support templated structs
vkucera Jul 25, 2024
460974f
TestNameDevice -> TestNameTask: Improve treatment of special cases.
vkucera Jul 25, 2024
9ba0fde
Minor fixes
vkucera Jul 25, 2024
18e427c
Add more protections and detections of special cases.
vkucera Jul 26, 2024
21cb3fe
Add TestWorkflowOptions
vkucera Jul 26, 2024
bc1d32a
Linting block_ranges
vkucera Jul 26, 2024
e6aa2bb
Add TestTwoPiAddedSubtracted, TestPiMultipliedDivided
vkucera Jul 26, 2024
55c4289
Extend description
vkucera Jul 26, 2024
36f1399
Format
vkucera Jul 27, 2024
0f3b489
Lint with ruff
vkucera Jul 27, 2024
4667fea
Break lines
vkucera Jul 27, 2024
04a6baa
Break lines + format
vkucera Jul 27, 2024
34e78ba
Update description
vkucera Jul 27, 2024
5b380ca
Improve result report
vkucera Jul 29, 2024
da1a649
TestNameTask: Check kebab-case of device name
vkucera Jul 29, 2024
59ed919
Add TestNameType. TestNameTask: Check kebab-case.
vkucera Jul 29, 2024
af9c93f
Format
vkucera Jul 29, 2024
1b0cfb1
TestNameNamespace, TestNameMacro: Check underscores
vkucera Jul 30, 2024
19b334f
Fix documentation
vkucera Jul 30, 2024
24bf052
TestHfStructMembers: Add PresliceUnsorted
vkucera Aug 7, 2024
3ab68dc
TestHfNameStructClass: Exclude Macros. TestHfNameFileWorkflow: Check …
vkucera Aug 14, 2024
4b81077
Merge branch 'master' into linter
vkucera Oct 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/o2-linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
# Find issues in O2 code
name: O2 linter

'on': [pull_request, push]
permissions: {}
env:
MAIN_BRANCH: master

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true

jobs:
o2-linter:
name: O2 linter
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0 # needed to get the full history
- name: Run tests
run: |
# Diff against the common ancestor of the source branch and the main branch.
readarray -t files < <(git diff --diff-filter d --name-only origin/${{ env.MAIN_BRANCH }}...)
[ ${{ github.event_name }} == 'pull_request' ] && options="-g"
# shellcheck disable=SC2086 # Ignore unquoted options.
python Scripts/o2_linter.py $options "${files[@]}"
Loading
Loading