-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsonar-project.properties
More file actions
58 lines (50 loc) · 2.78 KB
/
Copy pathsonar-project.properties
File metadata and controls
58 lines (50 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
sonar.host.url=https://sonarcloud.io
sonar.projectKey=ai-agent-assembly_python-sdk
sonar.organization=ai-agent-assembly
sonar.issues.defaultAssigneeLogin=Bryant
# This is the name and version displayed in the SonarCloud UI.
sonar.projectName=python-sdk
# A non-0.0.0 version is required for SonarCloud to compute the quality gate
# (a literal 0.0.0 leaves the gate stuck at "Not computed"; AAASM-3815). CI
# overrides this at scan time with the live pyproject.toml version via
# `-Dsonar.projectVersion=...` (see .github/workflows/rw_run_all_test_and_record.yaml),
# so it always tracks the current release; this static value is the local-scan
# fallback only.
sonar.projectVersion=0.0.1rc3
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
sonar.projectBaseDir=./
sonar.sources=agent_assembly/
sonar.tests=test/
# Python test coverage settings
# SonarCloud and Codecov consume the SAME coverage report set: the pytest-cov
# `coverage_*.xml` files produced from `.coveragerc`. SonarCloud globs them via
# reportPaths below (in CI it scans the downloaded `coverage_all-test.xml`);
# Codecov uploads the same per-suite files. Both are fed one coverage source,
# so any residual percentage delta is engine-level (SonarCloud's analyzer vs
# coverage.py line counting), not a scope mismatch or regression (AAASM-3962).
sonar.python.file.suffixes=.py
sonar.python.version=3.12,3.13
sonar.python.coverage.reportPaths=coverage*.xml
#sonar.coverage.python.reportPaths=coverage*.xml
# Ignore by test coverage. Kept in lockstep with the `ignore` list in
# codecov.yml so both tools exclude the same paths from their denominator.
sonar.coverage.exclusions=agent_assembly/types.py
# Ignore by general analyze
# `agent_assembly/proto/**` is protoc-generated (e.g. policy_pb2_grpc.py); its
# code smells are not hand-maintainable and must not be hand-edited (regenerated
# from the .proto). Exclude the generated tree from analysis (AAASM-3087).
sonar.exclusions=agent_assembly/proto/**
# Ignore some test files
# sonar.test.exclusions=tests/helpers/**
# Rule-specific exclusions (AAASM-3062). The runtime_interceptor's
# `/tmp/aa-runtime-<agent_id>.sock` literal is the SDK<->runtime IPC contract
# path (mirrored on the Rust side by aa-sdk-client::AssemblyConfig
# ::resolve_socket_path). The SDK only *connects* to a socket the runtime
# creates; it never writes to /tmp itself. Operators relocate via
# AA_RUNTIME_SOCKET. Inline NOSONAR does not suppress python:S5443 on
# vulnerability rules for this analyzer, so the exclusion is declared here.
sonar.issue.ignore.multicriteria=e1
sonar.issue.ignore.multicriteria.e1.ruleKey=python:S5443
sonar.issue.ignore.multicriteria.e1.resourceKey=**/runtime_interceptor.py
# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8