Skip to content

Enforce Quality Gates for Java (Error Prone/NullAway) and Python (Pylint/Pyright) #1541

@ndegwamartin

Description

@ndegwamartin

Objective

Configure our CI pipeline to act as a "Quality Gate" by running static analysis and type checking for all sub-projects. The build must fail if any tool detects a violation.

Technical Context

We need to ensure that the following tools are not just "reporting," but are actively blocking merges:

Python Sub-projects

  • Pyright: Enforce static type checking to catch type mismatches.
  • Pylint: Enforce coding standards and error detection.
  • Black: Run in --check mode. The build must fail if the code is not formatted according to our standard.

Java Sub-projects

  • Error Prone: Hook into the compiler to catch common programming mistakes at compile time.
  • NullAway: Enforce nullability checks (via Error Prone) to eliminate NullPointerExceptions.

Pre-requisite

This tickets depends on merging these PRs

Metadata

Metadata

Assignees

Labels

P1:mustAs issue that definitely needs to be implemented in near future.

Type

No type

Projects

Status

🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions