Skip to content

Commit 47f6cc2

Browse files
committed
add Qodana static code analysis
1 parent f8ffcb8 commit 47f6cc2

File tree

2 files changed

+111
-0
lines changed

2 files changed

+111
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Qodana
2+
on:
3+
workflow_dispatch:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
jobs:
10+
qodana:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: write
14+
pull-requests: write
15+
checks: write
16+
steps:
17+
- uses: actions/checkout@v3
18+
with:
19+
ref: ${{ github.event.pull_request.head.sha }}
20+
fetch-depth: 0
21+
- name: 'Qodana Scan'
22+
uses: JetBrains/qodana-action@v2025.1
23+
env:
24+
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

src/qodana.yaml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#-------------------------------------------------------------------------------#
2+
# Qodana analysis is configured by qodana.yaml file #
3+
# https://www.jetbrains.com/help/qodana/qodana-yaml.html #
4+
#-------------------------------------------------------------------------------#
5+
version: "1.0"
6+
#Specify IDE code to run analysis without container (Applied in CI/CD pipeline)
7+
ide: QDNET
8+
#Specify inspection profile for code analysis
9+
profile:
10+
name: qodana.starter
11+
include:
12+
- name: ConvertIfStatementToReturnStatement
13+
- name: ConvertIfStatementToConditionalTernaryExpression
14+
- name: AutoPropertyCanBeMadeGetOnly.Global
15+
- name: CanReplaceCastWithLambdaReturnType
16+
- name: ChangeFieldTypeToSystemThreadingLock
17+
- name: ConvertIfStatementToSwitchStatement
18+
- name: ConvertToConstant.Local
19+
- name: DuplicatedSequentialIfBodies
20+
- name: InlineTemporaryVariable
21+
- name: InvertIf
22+
- name: UseVerbatimString
23+
- name: LoopCanBeConvertedToQuery
24+
- name: MemberCanBePrivate.Global
25+
- name: MemberCanBeProtected.Global
26+
- name: MergeIntoPattern
27+
- name: UnusedMethodReturnValue.Global
28+
- name: EditorConfigNoMatchingFiles
29+
- name: ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator
30+
- name: PreferConcreteValueOverDefault
31+
- name: PropertyCanBeMadeInitOnly.Global
32+
- name: MoveLocalFunctionAfterJumpStatement
33+
- name: RedundantExplicitParamsArrayCreation
34+
- name: RedundantOverload.Global
35+
- name: RedundantStringInterpolation
36+
- name: RedundantVerbatimStringPrefix
37+
- name: ReplaceSubstringWithRangeIndexer
38+
- name: RCS1001
39+
- name: RCS1003
40+
- name: RCS1123
41+
- name: SYSLIB1045
42+
- name: CA1826
43+
- name: RCS1256
44+
- name: RCS1118
45+
- name: RCS1077
46+
- name: RCS1205
47+
- name: RCS1214
48+
- name: RCS1249
49+
- name: RCS1192
50+
- name: SYSLIB1054
51+
- name: CA1512
52+
- name: CA1866
53+
- name: CA1859
54+
- name: RCS1246
55+
- name: CA1829
56+
- name: RCS1266
57+
- name: RCS1267
58+
- name: RCS1227
59+
- name: SwitchExpressionHandlesSomeKnownEnumValuesWithExceptionInDefault
60+
- name: SwitchStatementHandlesSomeKnownEnumValuesWithDefault
61+
- name: RedundantAlwaysMatchSubpattern
62+
- name: UnusedType.Global
63+
- name: UnusedMemberInSuper.Global
64+
- name: UnusedMember.Local
65+
- name: EditorConfigKeyCorrectness
66+
- name: UseCollectionCountProperty
67+
- name: UseDiscardAssignment
68+
- name: ArrangeNamespaceBody
69+
- name: SuggestDiscardDeclarationVarStyle
70+
- name: ArrangeTrailingCommaInMultilineLists
71+
- name: ArrangeObjectCreationWhenTypeNotEvident
72+
- name: UseRawString
73+
- name: VirtualMemberNeverOverridden.Global
74+
75+
#Enable inspections
76+
#include:
77+
# - name: <SomeEnabledInspectionId>
78+
#Disable inspections
79+
#exclude:
80+
# - name: <SomeDisabledInspectionId>
81+
# paths:
82+
# - <path/where/not/run/inspection>
83+
#Execute shell command before Qodana execution (Applied in CI/CD pipeline)
84+
#bootstrap: sh ./prepare-qodana.sh
85+
#Install IDE plugins before Qodana execution (Applied in CI/CD pipeline)
86+
#plugins:
87+
# - id: <plugin.id> #(plugin id can be found at https://plugins.jetbrains.com)

0 commit comments

Comments
 (0)