Black and Ruff are used as part of code development control. They are not part of the critical path for the pycontrails application code.
It is a common occurrence that updated Black releases will cause issues (either causing previously passing code to fail, and/or, creating inconsistency between a local development environment and CICD environment.
As such, it is sensible to pin the version of these two packages to fixes versions, resulting in deterministic behavior across all environments.
Task(s)
Update all areas where Black/Ruff versions are declared to use a fixed/pinned version. This includes, but is not limited to, directives that set up CICD environment and local environment. If feasible, refactor to include a single reference for black/ruff version across the entire project (i.e. avoid declarations in multiple places).
Acceptance Criteria
Pycontrails in a production/installed environment, development environment and CICD environment all use the same version of black/ruff.
Description
Black and Ruff are used as part of code development control. They are not part of the critical path for the pycontrails application code.
It is a common occurrence that updated Black releases will cause issues (either causing previously passing code to fail, and/or, creating inconsistency between a local development environment and CICD environment.
As such, it is sensible to pin the version of these two packages to fixes versions, resulting in deterministic behavior across all environments.
Task(s) Update all areas where Black/Ruff versions are declared to use a fixed/pinned version. This includes, but is not limited to, directives that set up CICD environment and local environment. If feasible, refactor to include a single reference for black/ruff version across the entire project (i.e. avoid declarations in multiple places).
Acceptance Criteria Pycontrails in a production/installed environment, development environment and CICD environment all use the same version of black/ruff.