canonical / observability-libs

A collection of charm libraries curated by the Observability team.
https://charmhub.io/observability-libs
Apache License 2.0
3 stars 8 forks source link

Fix static check in libs. #69

Closed Abuelodelanada closed 8 months ago

Abuelodelanada commented 8 months ago

Enhancement Proposal

While working in PR #66 I saw we have a lot of errors in our libs static check :

$ tox -e static-lib                                                                                                                     
static-lib installed: anyio==4.2.0,certifi==2023.11.17,exceptiongroup==1.2.0,h11==0.14.0,httpcore==1.0.2,httpx==0.26.0,idna==3.6,lightkube==0.15.0,lightkube-models==1.29.0.6,nodeenv==1.8.0,ops==2.9.0,pyright==1.1.344,PyYAML==6.0.1,sniffio==1.3.0,typing_extensions==4.9.0,websocket-client==1.7.0
static-lib run-test-pre: PYTHONHASHSEED='3542122872'
static-lib run-test: commands[0] | pyright --pythonversion 3.8 /home/ubuntu/repos/observability-libs/lib/charms/observability_libs
/home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/kubernetes_compute_resources_patch.py
  /home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/kubernetes_compute_resources_patch.py:378:16 - error: Expression of type "Unknown | None" cannot be assigned to return type "ResourceRequirements"
    Type "Unknown | None" cannot be assigned to type "ResourceRequirements"
      "None" is incompatible with "ResourceRequirements" (reportGeneralTypeIssues)
  /home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/kubernetes_compute_resources_patch.py:386:16 - error: Expression of type "Unknown | None" cannot be assigned to return type "ResourceRequirements"
    Type "Unknown | None" cannot be assigned to type "ResourceRequirements"
      "None" is incompatible with "ResourceRequirements" (reportGeneralTypeIssues)
/home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/metrics_endpoint_discovery.py
  /home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/metrics_endpoint_discovery.py:211:28 - error: "annotations" is not a known member of "None" (reportOptionalMemberAccess)
  /home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/metrics_endpoint_discovery.py:212:44 - error: "annotations" is not a known member of "None" (reportOptionalMemberAccess)
  /home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/metrics_endpoint_discovery.py:215:68 - error: "containers" is not a known member of "None" (reportOptionalMemberAccess)
  /home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/metrics_endpoint_discovery.py:221:31 - error: "namespace" is not a known member of "None" (reportOptionalMemberAccess)
  /home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v0/metrics_endpoint_discovery.py:222:26 - error: "name" is not a known member of "None" (reportOptionalMemberAccess)
/home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v1/kubernetes_service_patch.py
  /home/ubuntu/repos/observability-libs/lib/charms/observability_libs/v1/kubernetes_service_patch.py:317:77 - error: "ports" is not a known member of "None" (reportOptionalMemberAccess)
8 errors, 0 warnings, 0 informations 
ERROR: InvocationError for command /home/ubuntu/repos/observability-libs/.tox/static-lib/bin/pyright --pythonversion 3.8 lib/charms/observability_libs (exited with code 1)
__________________________________________________________________ summary ___________________________________________________________________
ERROR:   static-lib: commands failed

We have to fix, and release new versions of: