Adopt Qodana Community Edition for Multi-Language Code Quality Checks
Update:
- compare Qodana with concurrent solutions
Issue description is universal - will be used for more repos.
Goal
Integrate JetBrains Qodana (Community Edition) into CI/CD to establish code quality gates across all primary languages used in this repository:
- Terraform → covered by
tflint (already in place)
- Python → analyzed by
qodana-python
- Scala (JVM) → analyzed by
qodana-jvm-community + org.intellij.scala plugin
- JavaScript/TypeScript → analyzed by
qodana-js
The purpose is to block new issues in PRs while progressively reducing the existing backlog.
Implementation Steps
1. Qodana configuration
2. Initial baselines
3. GitHub Actions workflow
4. Branch protection rules
📊 Expected Benefits
| Area |
Impact |
| PR Quality Gate |
No new technical debt (new issues fail CI) |
| Multi-language Coverage |
Consistent inspection across Python, Scala, and JS |
| Developer Experience |
Inline annotations in PRs via SARIF integration |
🔧 References
Adopt Qodana Community Edition for Multi-Language Code Quality Checks
Update:
Goal
Integrate JetBrains Qodana (Community Edition) into CI/CD to establish code quality gates across all primary languages used in this repository:
tflint(already in place)qodana-pythonqodana-jvm-community+org.intellij.scalapluginqodana-jsThe purpose is to block new issues in PRs while progressively reducing the existing backlog.
Implementation Steps
1. Qodana configuration
qodana.yamlin the root with basic excludes and plugin config for Scala.2. Initial baselines
qodana.yamland all.sarif.jsonbaseline files.3. GitHub Actions workflow
.github/workflows/test.yml.--fail-threshold 0to fail only when new issues are introduced.4. Branch protection rules
📊 Expected Benefits
🔧 References