From 0bf707cb98f9707df46b6962a0150c07470ab650 Mon Sep 17 00:00:00 2001 From: "sentry[bot]" <39604003+sentry[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 10:48:08 +0000 Subject: [PATCH] fix: handle invalid slug ValueError gracefully in CLI --- codecov_cli/helpers/encoder.py | 6 +++++- codecov_cli/opentelemetry.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/codecov_cli/helpers/encoder.py b/codecov_cli/helpers/encoder.py index 167a817e0..6af996dcf 100644 --- a/codecov_cli/helpers/encoder.py +++ b/codecov_cli/helpers/encoder.py @@ -1,5 +1,7 @@ import re +import click + slug_without_subgroups_regex = re.compile(r"[^/\s]+\/[^/\s]+$") slug_with_subgroups_regex = re.compile(r"[^/\s]+(\/[^/\s]+)+$") encoded_slug_regex = re.compile(r"[^:\s]+(:::[^:\s]+)*(::::[^:\s]+){1}$") @@ -7,7 +9,9 @@ def encode_slug(slug: str): if slug_with_subgroups_is_invalid(slug): - raise ValueError("The provided slug is invalid") + raise click.ClickException( + "The provided slug is invalid. Slug must be in the format /" + ) owner, repo = slug.rsplit("/", 1) encoded_owner = ":::".join(owner.split("/")) encoded_slug = "::::".join([encoded_owner, repo]) diff --git a/codecov_cli/opentelemetry.py b/codecov_cli/opentelemetry.py index b902a433f..81acc047b 100644 --- a/codecov_cli/opentelemetry.py +++ b/codecov_cli/opentelemetry.py @@ -8,6 +8,7 @@ _SAMPLED_MESSAGES = [ "Token required", "No JUnit XML reports found", + "The provided slug is invalid", ] _SAMPLE_RATE = 100 _SKIP_TAG_KEYS = {"branch", "flags", "commit_sha", "env_vars"}