Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -1135,7 +1135,11 @@ def _build_find_pod_label_selector(self, context: Context | None = None, *, excl
**self.labels,
**self._get_ti_pod_labels(context, include_try_number=False),
}
label_strings = [f"{label_id}={label}" for label_id, label in sorted(labels.items())]
labels = normalize_labels_dict(labels)
label_strings = [
f"{label_id}={label}"
for label_id, label in sorted(labels.items())
]
labels_value = ",".join(label_strings)
if exclude_checked:
labels_value = f"{labels_value},{self.POD_CHECKED_KEY}!=True"
Expand Down Expand Up @@ -1363,3 +1367,10 @@ def __exit__(self, exctype, excinst, exctb) -> bool:
logger = logging.getLogger(__name__)
logger.exception(excinst)
return True

# --- Helper functions ---
def normalize_labels_dict(labels: dict) -> dict:
"""
Return a copy of the labels dict with all None values replaced by empty strings.
"""
return {k: ('' if v is None else v) for k, v in labels.items()}