Skip to content

Update Qodana Linter for Ruby Support #27

Open
@mridang

Description

@mridang

Update Qodana Linter for Ruby Support

Description:
Qodana has been integrated into the zitadel/client-ruby project CI pipeline to perform static code analysis. The goal is to leverage Qodana for maintaining and improving code quality within the Ruby client library.

Problem:
Qodana does not yet have official, stable support for the Ruby language. This is tracked by JetBrains here: RUBY-29231. While there are signs of development (Ruby container definition), it's not ready for production use. To prevent the CI pipeline from failing, the current qodana.yaml configuration uses a placeholder linter (jetbrains/qodana-php:2025.1) as seen here: qodana.yaml#L12. This means the Qodana step completes, but no actual Ruby code inspection occurs.

Impact:

  • The project is not benefiting from Qodana's static analysis capabilities for the Ruby codebase.
  • Potential code quality issues, bugs, or style violations specific to Ruby may go undetected by the automated checks.
  • The current configuration provides a false sense of security, as the Qodana step passes without performing meaningful analysis.

Tasks:

  1. Monitor the status of RUBY-29231 for the official release of Qodana for Ruby support.
  2. Once released, update the linter value in qodana.yaml from jetbrains/qodana-php:2025.1 to the official Ruby Qodana container image (e.g., jetbrains/qodana-ruby:<version>).
  3. Run the CI pipeline and verify that the Qodana analysis executes correctly against the Ruby code.
  4. Review the reported inspections and ensure they are relevant and accurate.
  5. Adjust any necessary Qodana configuration settings in qodana.yaml or a qodana.yml profile file if needed for optimal Ruby analysis.

Expected Outcomes:

  • The CI pipeline includes a fully functional Qodana step that performs static analysis specifically for the Ruby codebase in zitadel/client-ruby.
  • Qodana effectively identifies potential issues, contributing to improved code quality and maintainability.
  • The placeholder linter configuration is removed.

Additional Notes:

  • This update is entirely dependent on JetBrains releasing official Qodana support for Ruby.
  • Keep an eye on the Qodana documentation and release notes for announcements regarding Ruby support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions