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

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions