From 624a6d41b55d5a07bf33dc086edae402caa00542 Mon Sep 17 00:00:00 2001 From: Yann Hamdaoui Date: Fri, 20 Mar 2026 13:17:32 +0100 Subject: [PATCH] fix(ci): handle new crate addition in semver-check When a crate doesn't exist in the baseline, cargo-semver-checks exits with code 1 and "package not found". Treat this as a minor change instead of an error. Co-Authored-By: Claude Sonnet 4.6 --- scripts/semver-level.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/semver-level.sh b/scripts/semver-level.sh index 243e8c1bce..ce9ff4520f 100755 --- a/scripts/semver-level.sh +++ b/scripts/semver-level.sh @@ -85,6 +85,11 @@ compute_semver_results() { DETAILS=$(echo "$SEMVER_OUTPUT" | grep -A 1000 "^--- failure" | head -100 || echo "$SEMVER_OUTPUT" | tail -50) log_verbose "Detected semver violations (major change)" >&2 log_verbose "$SEMVER_OUTPUT" >&2 + elif echo "$SEMVER_OUTPUT" | grep -qF "package \`$crate\` not found"; then + # The crate doesn't exist in the baseline — it's a new crate being added + LEVEL="minor" + REASON="New crate (not present in baseline)" + log_verbose "New crate '$crate' not found in baseline, treating as minor change" >&2 else echo "Error running cargo-semver-checks: $SEMVER_OUTPUT" >&2 exit $SEMVER_EXIT_CODE