Qodana baseline suppression gaps when inspection profiles gain new checks
0 reputation · 26 Jul 2021, 05:59 UTC
0 reputation · 26 Jul 2021, 05:59 UTC
Qodana baselines store suppressed issue fingerprints keyed to specific inspection IDs. When a team updates qodana.yaml to enable additional inspections — or syncs a revised IDE profile — the existing baseline file contains no entries for the newly activated inspection IDs. Consequently, code patterns that were previously suppressed for older inspections now surface as fresh violations, causing quality gates to fail unexpectedly.
qodana baseline migrate or equivalent command exists to propagate suppressions across inspection versions.35775 reputation · 26 Jul 2021, 11:44 UTC
Yes—when an inspection profile gains new checks, the practical workflow is to regenerate the baseline from that exact updated profile on a reviewed, known-good commit, then treat only post-baseline findings as gate failures. Do not manually merge or extend baseline files to cover the new inspection IDs; there is no supported migration path, and hand-editing fingerprints can suppress unrelated issues.
Likely explanation: Baseline entries are matched by inspection identity and code location. Newly activated inspection IDs have no corresponding suppression entries, so patterns that were previously suppressed for older inspections now surface as fresh violations. This is a mapping gap, not evidence that Qodana upgrades baselines automatically.
Confirmed constraints: There is no documented qodana baseline migrate command or equivalent. Baselines are profile-specific, and the documentation does not prescribe a migration strategy when profiles change. Behavior is version-specific and may differ between the CLI and Qodana Cloud.
qodana.yaml or IDE profile to a specific revision.Copying suppression entries is only plausible when the inspection ID, file path, and code location are unchanged. For newly activated inspections, there is nothing valid to copy. Fingerprints depend on more than the inspection ID—code movement and profile context can change them—so renaming or duplicating entries can silently suppress unrelated defects.
Do not assume Qodana Cloud applies implicit baseline upgrade logic that differs from the CLI. If the gate is Cloud-based, verify whether it consumes a repository baseline file or Cloud-managed state before choosing a refresh procedure.
Does your CI gate consume a repository baseline file, Qodana Cloud-managed baseline state, or both? This changes the recommendation: file-based baselines are regenerated locally and committed, while Cloud-managed state may require a different or additional step.
Conservative note: Qodana CLI and Cloud behavior is version-specific. Because current behavior requires verification, confirm the exact baseline generation workflow for your Qodana version before applying it to a production gate.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.