ci: Scan bitcoin-network-kind for semver breaks
What changed, and why it matters
This commit only adds a new Rust package (bitcoin-network-kind) to an existing CI script that checks for accidental breaking changes in public APIs. It does not change any library code, runtime behavior, or security-sensitive logic. There is no security issue here.
No action needed. This is a benign CI-only change.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff extends contrib/check-semver-pr.sh to generate and compare API JSON files for the bitcoin-network-kind crate across all-features, no-default-features, and alloc feature sets, then runs cargo-semver-checks against them. This is a pure CI/quality-assurance change with no modifications to source code, dependencies, or build artifacts that affect users.
Changed components
contrib/check-semver-pr.shInspect captured patch +13 / −0
diff --git a/contrib/check-semver-pr.sh b/contrib/check-semver-pr.sh
index effbd532..9bca1d1d 100755
--- a/contrib/check-semver-pr.sh
+++ b/contrib/check-semver-pr.sh
@@ -58,6 +58,11 @@ main() {
generate_json_files_no_default_features "bitcoin-consensus-encoding" "current"
generate_json_files_features_alloc "bitcoin-consensus-encoding" "current"
+ # 7. bitcoin-network-kind: all-features, no-default-features and alloc feature.
+ generate_json_files_all_features "bitcoin-network-kind" "current"
+ generate_json_files_no_default_features "bitcoin-network-kind" "current"
+ generate_json_files_features_alloc "bitcoin-network-kind" "current"
+
# Switch to target commit.
echo "Checking out target commit at $TARGET_COMMIT"
@@ -92,6 +97,11 @@ main() {
generate_json_files_no_default_features "bitcoin-consensus-encoding" "master"
generate_json_files_features_alloc "bitcoin-consensus-encoding" "master"
+ # 7. bitcoin-network-kind: all-features, no-default-features and alloc feature.
+ generate_json_files_all_features "bitcoin-network-kind" "master"
+ generate_json_files_no_default_features "bitcoin-network-kind" "master"
+ generate_json_files_features_alloc "bitcoin-network-kind" "master"
+
# Check for API semver breaks on all the generated JSON files above.
run_cargo_semver_check "bitcoin" "all-features"
run_cargo_semver_check "bitcoin" "no-default-features"
@@ -109,6 +119,9 @@ main() {
run_cargo_semver_check "bitcoin-consensus-encoding" "all-features"
run_cargo_semver_check "bitcoin-consensus-encoding" "no-default-features"
run_cargo_semver_check "bitcoin-consensus-encoding" "alloc"
+ run_cargo_semver_check "bitcoin-network-kind" "all-features"
+ run_cargo_semver_check "bitcoin-network-kind" "no-default-features"
+ run_cargo_semver_check "bitcoin-network-kind" "alloc"
# Invoke cargo semver-checks to check for breaking changes
# in all generated files.
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.