Skip to content

Conversation

@hoolioh
Copy link
Contributor

@hoolioh hoolioh commented Dec 17, 2025

What does this PR do?

This PR introduces a new workflow (pr-title-semver-check.yml) that automatically:

  1. Detects Changed Crates: Identifies which published workspace crates have been modified in the PR
  2. Analyzes API Changes: Uses cargo-public-api to detect breaking, additive, or patch-level changes to the public API of each affected crate
  3. Validates PR Titles: Ensures the PR title's conventional commit type matches the detected semver level

Validation Rules

The workflow enforces the following mappings between conventional commit types and API changes:

  • fix: - Only for patch-level changes
  • feat: - For minor changes (new APIs), or major changes when marked with ! or BREAKING CHANGE: in the body
  • chore:, ci:, docs:, style:, test:, build:, perf: - Should not include API changes
  • refactor: - Can include any level of changes, but major changes require breaking change markers
  • revert: - Allowed for any semver level

Technical Details

The workflow consists of three jobs:

  1. detect-changes: Parses the workspace Cargo.toml and identifies changed published crates
  2. semver-check: Runs semver analysis using cargo-public-api to determine the highest change level
  3. validate: Cross-references the PR title against detected changes and fails if there's a mismatch

Benefits

  • Prevents accidental breaking changes without proper version indicators
  • Ensures PR titles accurately describe the nature of changes
  • Provides early feedback before merging
  • Helps maintain semver compliance across the workspace

@pr-commenter
Copy link

pr-commenter bot commented Dec 17, 2025

Benchmarks

Comparison

Benchmark execution time: 2026-01-13 12:31:45

Comparing candidate commit 5d952a9 in PR branch julio/versioning/pr-semver-check with baseline commit 158b594 in branch main.

Found 13 performance improvements and 11 performance regressions! Performance is the same for 33 metrics, 2 unstable metrics.

scenario:benching serializing traces from their internal representation to msgpack

  • 🟩 execution_time [-965.820µs; -952.530µs] or [-6.519%; -6.429%]

scenario:credit_card/is_card_number/ 378282246310005

  • 🟩 throughput [+536690.998op/s; +562381.264op/s] or [+4.019%; +4.211%]

scenario:credit_card/is_card_number/378282246310005

  • 🟩 execution_time [-3.488µs; -3.385µs] or [-4.842%; -4.698%]
  • 🟩 throughput [+684767.556op/s; +706429.714op/s] or [+4.933%; +5.089%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟩 execution_time [-7.286µs; -7.247µs] or [-13.957%; -13.882%]
  • 🟩 throughput [+3088168.493op/s; +3107205.713op/s] or [+16.121%; +16.221%]

scenario:credit_card/is_card_number_no_luhn/ 3782-8224-6310-005

  • 🟩 throughput [+648986.108op/s; +695493.268op/s] or [+4.170%; +4.469%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟩 execution_time [-3.732µs; -3.690µs] or [-6.489%; -6.415%]
  • 🟩 throughput [+1192132.458op/s; +1205934.163op/s] or [+6.857%; +6.937%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟩 execution_time [-4.325µs; -4.265µs] or [-7.891%; -7.780%]
  • 🟩 throughput [+1540076.877op/s; +1561983.822op/s] or [+8.442%; +8.562%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟩 execution_time [-7.303µs; -7.265µs] or [-13.987%; -13.915%]
  • 🟩 throughput [+3096206.194op/s; +3114430.251op/s] or [+16.166%; +16.261%]

scenario:normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...

  • 🟥 execution_time [+17.861µs; +18.050µs] or [+9.552%; +9.653%]
  • 🟥 throughput [-471149.859op/s; -466054.215op/s] or [-8.810%; -8.714%]

scenario:normalization/normalize_name/normalize_name/bad-name

  • 🟥 execution_time [+901.246ns; +927.019ns] or [+5.084%; +5.230%]
  • 🟥 throughput [-2805293.117op/s; -2727981.014op/s] or [-4.973%; -4.836%]

scenario:normalization/normalize_name/normalize_name/good

  • 🟥 execution_time [+714.653ns; +733.444ns] or [+7.037%; +7.222%]
  • 🟥 throughput [-6633543.052op/s; -6469924.756op/s] or [-6.736%; -6.570%]

scenario:normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...

  • 🟥 execution_time [+38.319µs; +38.653µs] or [+7.722%; +7.789%]
  • 🟥 throughput [-145682.675op/s; -144381.510op/s] or [-7.230%; -7.165%]

scenario:normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters

  • 🟥 execution_time [+20.522µs; +20.607µs] or [+12.071%; +12.120%]
  • 🟥 throughput [-635938.711op/s; -633400.810op/s] or [-10.812%; -10.769%]

scenario:profile_add_sample2_frames_x1000

  • 🟥 execution_time [+21.904µs; +22.093µs] or [+4.150%; +4.186%]

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 186.278ns 188.988ns ± 2.188ns 188.344ns ± 1.488ns 190.158ns 193.463ns 195.286ns 195.828ns 3.97% 0.951 0.371 1.16% 0.155ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [188.685ns; 189.291ns] or [-0.160%; +0.160%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample2_frames_x1000 execution_time 548.935µs 549.818µs ± 0.536µs 549.748µs ± 0.271µs 550.018µs 550.531µs 551.213µs 554.352µs 0.84% 3.375 24.429 0.10% 0.038µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [549.744µs; 549.893µs] or [-0.014%; +0.014%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 13.805ms 13.856ms ± 0.030ms 13.851ms ± 0.015ms 13.866ms 13.898ms 13.974ms 14.047ms 1.41% 2.455 9.962 0.22% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [13.852ms; 13.860ms] or [-0.030%; +0.030%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 5.007µs 5.087µs ± 0.043µs 5.083µs ± 0.033µs 5.110µs 5.159µs 5.168µs 5.170µs 1.70% 0.196 -1.005 0.85% 0.003µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.081µs; 5.093µs] or [-0.119%; +0.119%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 204.212µs 204.936µs ± 0.396µs 204.887µs ± 0.232µs 205.131µs 205.572µs 206.121µs 207.452µs 1.25% 1.772 7.446 0.19% 0.028µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4820382.139op/s 4879599.617op/s ± 9395.089op/s 4880729.804op/s ± 5527.696op/s 4886228.785op/s 4891451.422op/s 4893252.936op/s 4896876.415op/s 0.33% -1.736 7.174 0.19% 664.333op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.575µs 18.640µs ± 0.067µs 18.625µs ± 0.016µs 18.646µs 18.739µs 18.854µs 19.277µs 3.50% 5.437 42.883 0.36% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51875861.942op/s 53647796.222op/s ± 188316.842op/s 53690481.292op/s ± 45660.590op/s 53733639.845op/s 53780050.516op/s 53806992.955op/s 53835235.892op/s 0.27% -5.277 40.656 0.35% 13316.012op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.772µs 10.879µs ± 0.060µs 10.869µs ± 0.036µs 10.907µs 10.988µs 11.062µs 11.100µs 2.12% 1.015 1.299 0.55% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 90093711.320op/s 91920185.250op/s ± 502297.205op/s 92007000.344op/s ± 304014.076op/s 92263083.956op/s 92592477.191op/s 92751609.798op/s 92829824.366op/s 0.89% -0.978 1.197 0.55% 35517.776op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [204.881µs; 204.990µs] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4878297.548op/s; 4880901.686op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.631µs; 18.650µs] or [-0.050%; +0.050%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53621697.319op/s; 53673895.125op/s] or [-0.049%; +0.049%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.871µs; 10.888µs] or [-0.076%; +0.076%] None None None
normalization/normalize_name/normalize_name/good throughput [91850571.689op/s; 91989798.812op/s] or [-0.076%; +0.076%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 34.035µs 34.674µs ± 1.080µs 34.187µs ± 0.042µs 34.242µs 37.019µs 37.114µs 37.727µs 10.36% 1.705 0.962 3.11% 0.076µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [34.524µs; 34.824µs] or [-0.432%; +0.432%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching string interning on wordpress profile execution_time 160.880µs 161.657µs ± 0.270µs 161.613µs ± 0.140µs 161.782µs 162.164µs 162.419µs 162.925µs 0.81% 1.135 3.107 0.17% 0.019µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [161.619µs; 161.694µs] or [-0.023%; +0.023%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 144.530µs 146.464µs ± 1.881µs 146.099µs ± 0.529µs 146.774µs 147.837µs 152.693µs 166.531µs 13.98% 7.091 67.100 1.28% 0.133µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [146.203µs; 146.724µs] or [-0.178%; +0.178%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2597 execution_time 9.612ms 9.885ms ± 0.076ms 9.885ms ± 0.038ms 9.925ms 9.994ms 10.132ms 10.168ms 2.86% 0.062 2.999 0.77% 0.005ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [9.874ms; 9.896ms] or [-0.107%; +0.107%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
write only interface execution_time 1.230µs 3.220µs ± 1.415µs 3.001µs ± 0.030µs 3.031µs 3.673µs 13.968µs 14.727µs 390.68% 7.316 54.799 43.83% 0.100µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.024µs; 3.416µs] or [-6.089%; +6.089%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 88.768µs 89.119µs ± 0.167µs 89.112µs ± 0.056µs 89.160µs 89.286µs 89.487µs 90.688µs 1.77% 5.057 42.385 0.19% 0.012µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [89.095µs; 89.142µs] or [-0.026%; +0.026%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching deserializing traces from msgpack to their internal representation execution_time 59.826ms 60.362ms ± 1.567ms 60.178ms ± 0.079ms 60.252ms 60.438ms 71.169ms 75.399ms 25.29% 8.050 65.436 2.59% 0.111ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [60.145ms; 60.580ms] or [-0.360%; +0.360%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 10.648ms 10.680ms ± 0.014ms 10.680ms ± 0.008ms 10.688ms 10.704ms 10.721ms 10.755ms 0.70% 1.076 3.384 0.13% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.678ms; 10.682ms] or [-0.019%; +0.019%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
tags/replace_trace_tags execution_time 2.302µs 2.385µs ± 0.019µs 2.390µs ± 0.005µs 2.394µs 2.401µs 2.412µs 2.453µs 2.66% -2.032 5.902 0.81% 0.001µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.382µs; 2.387µs] or [-0.113%; +0.113%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 3.931ms 3.937ms ± 0.007ms 3.937ms ± 0.002ms 3.938ms 3.942ms 3.944ms 4.028ms 2.33% 10.822 136.459 0.18% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [3.936ms; 3.938ms] or [-0.025%; +0.025%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 244.633ns 256.393ns ± 13.530ns 249.787ns ± 3.285ns 260.224ns 289.960ns 297.715ns 301.296ns 20.62% 1.682 1.947 5.26% 0.957ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [254.518ns; 258.268ns] or [-0.731%; +0.731%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 533.985µs 534.749µs ± 0.550µs 534.657µs ± 0.232µs 534.922µs 535.506µs 536.716µs 538.724µs 0.76% 3.306 18.707 0.10% 0.039µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1856238.276op/s 1870039.873op/s ± 1915.709op/s 1870357.285op/s ± 812.415op/s 1871140.858op/s 1872111.927op/s 1872511.110op/s 1872712.605op/s 0.13% -3.276 18.437 0.10% 135.461op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.216µs 380.951µs ± 0.308µs 380.908µs ± 0.201µs 381.147µs 381.481µs 381.743µs 382.017µs 0.29% 0.532 0.311 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2617682.373op/s 2625013.085op/s ± 2119.758op/s 2625304.908op/s ± 1387.893op/s 2626436.269op/s 2627892.684op/s 2628932.355op/s 2630083.952op/s 0.18% -0.527 0.303 0.08% 149.890op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 190.021µs 190.581µs ± 0.250µs 190.558µs ± 0.160µs 190.732µs 191.044µs 191.209µs 191.416µs 0.45% 0.537 0.195 0.13% 0.018µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5224214.583op/s 5247126.359op/s ± 6865.591op/s 5247750.330op/s ± 4395.627op/s 5251973.000op/s 5257316.172op/s 5260946.018op/s 5262567.010op/s 0.28% -0.529 0.184 0.13% 485.471op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.935µs 37.204µs ± 0.081µs 37.214µs ± 0.052µs 37.261µs 37.324µs 37.354µs 37.365µs 0.41% -0.649 0.538 0.22% 0.006µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26762816.224op/s 26878931.794op/s ± 58564.465op/s 26871920.973op/s ± 37358.912op/s 26910961.259op/s 26976326.272op/s 27039616.348op/s 27074313.966op/s 0.75% 0.663 0.565 0.22% 4141.133op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.808µs 45.905µs ± 0.061µs 45.894µs ± 0.028µs 45.923µs 46.014µs 46.111µs 46.380µs 1.06% 3.079 18.079 0.13% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21561234.625op/s 21783968.153op/s ± 28840.255op/s 21789480.454op/s ± 13291.422op/s 21800648.813op/s 21815442.592op/s 21825389.435op/s 21830375.075op/s 0.19% -3.038 17.651 0.13% 2039.314op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [534.672µs; 534.825µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869774.374op/s; 1870305.372op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.908µs; 380.993µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2624719.307op/s; 2625306.863op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.546µs; 190.615µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5246174.854op/s; 5248077.864op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.193µs; 37.215µs] or [-0.030%; +0.030%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26870815.322op/s; 26887048.266op/s] or [-0.030%; +0.030%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.897µs; 45.914µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21779971.171op/s; 21787965.135op/s] or [-0.018%; +0.018%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.892µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.917µs 3.919µs 3.919µs 0.20% -1.138 12.124 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255135945.452op/s 255639104.455op/s ± 186095.898op/s 255650991.709op/s ± 97089.431op/s 255750018.312op/s 255866684.352op/s 255911685.722op/s 256964290.003op/s 0.51% 1.166 12.324 0.07% 13158.967op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.569µs 78.634µs ± 0.634µs 78.512µs ± 0.345µs 78.964µs 79.706µs 80.598µs 81.389µs 3.66% 1.236 2.617 0.80% 0.045µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12286709.207op/s 12718021.512op/s ± 101629.169op/s 12736890.656op/s ± 56273.986op/s 12787310.193op/s 12861270.833op/s 12882452.992op/s 12891785.646op/s 1.22% -1.163 2.347 0.80% 7186.267op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.832µs 71.929µs ± 0.465µs 71.887µs ± 0.315µs 72.256µs 72.639µs 73.239µs 73.635µs 2.43% 0.566 0.872 0.65% 0.033µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13580555.458op/s 13903175.872op/s ± 89632.922op/s 13910718.209op/s ± 61045.865op/s 13962766.125op/s 14035412.134op/s 14088892.165op/s 14117902.770op/s 1.49% -0.517 0.765 0.64% 6338.005op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.894µs 3.911µs ± 0.003µs 3.911µs ± 0.001µs 3.913µs 3.916µs 3.918µs 3.920µs 0.24% -0.725 7.266 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255082437.734op/s 255669482.746op/s ± 180648.029op/s 255682176.253op/s ± 97305.815op/s 255776287.417op/s 255915515.681op/s 255962560.748op/s 256807792.730op/s 0.44% 0.744 7.371 0.07% 12773.745op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.895µs 68.608µs ± 0.345µs 68.602µs ± 0.257µs 68.845µs 69.170µs 69.448µs 69.685µs 1.58% 0.365 -0.180 0.50% 0.024µs 1 200
credit_card/is_card_number/378282246310005 throughput 14350314.572op/s 14575933.118op/s ± 73109.241op/s 14576772.694op/s ± 54459.082op/s 14632055.910op/s 14683443.220op/s 14714244.240op/s 14728522.561op/s 1.04% -0.340 -0.218 0.50% 5169.604op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.562µs 44.937µs ± 0.136µs 44.963µs ± 0.102µs 45.042µs 45.116µs 45.136µs 45.142µs 0.40% -0.617 -0.346 0.30% 0.010µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22152332.551op/s 22253335.826op/s ± 67588.646op/s 22240697.406op/s ± 50101.480op/s 22298042.824op/s 22384900.668op/s 22423619.638op/s 22440667.078op/s 0.90% 0.628 -0.325 0.30% 4779.239op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.692µs 5.700µs ± 0.008µs 5.700µs ± 0.003µs 5.702µs 5.706µs 5.708µs 5.798µs 1.72% 9.733 119.139 0.14% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 172482640.433op/s 175429278.958op/s ± 237220.714op/s 175442998.573op/s ± 81730.996op/s 175527026.784op/s 175613505.160op/s 175671473.986op/s 175691011.267op/s 0.14% -9.625 117.359 0.13% 16774.038op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.892µs 3.913µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.919µs 3.920µs 3.921µs 0.23% -0.824 6.763 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255029756.297op/s 255574743.097op/s ± 216763.124op/s 255610561.866op/s ± 120771.799op/s 255686570.065op/s 255873941.826op/s 255970546.538op/s 256941438.253op/s 0.52% 0.845 6.894 0.08% 15327.467op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 60.141µs 61.604µs ± 0.633µs 61.584µs ± 0.444µs 62.042µs 62.610µs 63.036µs 63.880µs 3.73% 0.290 0.176 1.03% 0.045µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15654368.448op/s 16234372.019op/s ± 166459.202op/s 16237963.839op/s ± 117590.067op/s 16353734.729op/s 16517875.663op/s 16576547.282op/s 16627717.344op/s 2.40% -0.227 0.080 1.02% 11770.443op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.249µs 53.810µs ± 0.112µs 53.835µs ± 0.042µs 53.873µs 53.944µs 53.963µs 54.026µs 0.36% -2.072 6.054 0.21% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18509518.545op/s 18583837.545op/s ± 38726.907op/s 18575316.901op/s ± 14421.531op/s 18593246.873op/s 18659962.719op/s 18717991.669op/s 18779710.481op/s 1.10% 2.096 6.177 0.21% 2738.406op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.919µs 3.923µs 0.26% -0.731 6.890 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254906526.794op/s 255542563.911op/s ± 201781.783op/s 255566124.726op/s ± 113635.000op/s 255666581.971op/s 255778044.565op/s 255933463.914op/s 256807354.095op/s 0.49% 0.751 7.007 0.08% 14268.127op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.223µs 50.519µs ± 0.156µs 50.510µs ± 0.068µs 50.562µs 50.938µs 51.056µs 51.112µs 1.19% 1.619 3.693 0.31% 0.011µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19564786.727op/s 19794655.214op/s ± 60873.417op/s 19798197.668op/s ± 26705.447op/s 19833689.040op/s 19873020.189op/s 19897981.693op/s 19911241.887op/s 0.57% -1.591 3.610 0.31% 4304.401op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.553µs 44.927µs ± 0.129µs 44.931µs ± 0.097µs 45.036µs 45.112µs 45.144µs 45.146µs 0.48% -0.387 -0.580 0.29% 0.009µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 22150156.407op/s 22258335.500op/s ± 64052.926op/s 22256225.387op/s ± 47940.052op/s 22302756.631op/s 22369203.168op/s 22408191.071op/s 22445240.909op/s 0.85% 0.398 -0.564 0.29% 4529.226op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.691µs 5.701µs ± 0.008µs 5.700µs ± 0.003µs 5.703µs 5.707µs 5.710µs 5.799µs 1.74% 9.049 107.858 0.14% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 172435832.500op/s 175412205.536op/s ± 245690.382op/s 175432800.466op/s ± 91983.626op/s 175521501.384op/s 175628494.204op/s 175678709.194op/s 175712295.596op/s 0.16% -8.931 105.954 0.14% 17372.934op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255613313.354op/s; 255664895.557op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.546µs; 78.722µs] or [-0.112%; +0.112%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12703936.686op/s; 12732106.337op/s] or [-0.111%; +0.111%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.865µs; 71.993µs] or [-0.090%; +0.090%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13890753.611op/s; 13915598.133op/s] or [-0.089%; +0.089%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255644446.666op/s; 255694518.825op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.560µs; 68.656µs] or [-0.070%; +0.070%] None None None
credit_card/is_card_number/378282246310005 throughput [14565800.880op/s; 14586065.356op/s] or [-0.070%; +0.070%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [44.919µs; 44.956µs] or [-0.042%; +0.042%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22243968.690op/s; 22262702.963op/s] or [-0.042%; +0.042%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.699µs; 5.701µs] or [-0.019%; +0.019%] None None None
credit_card/is_card_number/x371413321323331 throughput [175396402.449op/s; 175462155.468op/s] or [-0.019%; +0.019%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ throughput [255544701.812op/s; 255604784.381op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [61.516µs; 61.692µs] or [-0.142%; +0.142%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [16211302.374op/s; 16257441.663op/s] or [-0.142%; +0.142%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.795µs; 53.826µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18578470.369op/s; 18589204.722op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255514598.896op/s; 255570528.926op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.498µs; 50.541µs] or [-0.043%; +0.043%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19786218.744op/s; 19803091.684op/s] or [-0.043%; +0.043%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [44.909µs; 44.945µs] or [-0.040%; +0.040%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22249458.380op/s; 22267212.619op/s] or [-0.040%; +0.040%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.700µs; 5.702µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [175378155.212op/s; 175446255.860op/s] or [-0.019%; +0.019%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5d952a9 1768306438 julio/versioning/pr-semver-check
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 17.746µs 25.835µs ± 9.403µs 18.126µs ± 0.263µs 34.167µs 43.457µs 44.335µs 54.709µs 201.83% 0.663 -0.825 36.31% 0.665µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.532µs; 27.138µs] or [-5.044%; +5.044%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Dec 17, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.32%. Comparing base (40a1ad6) to head (db33d39).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1414      +/-   ##
==========================================
+ Coverage   71.31%   71.32%   +0.01%     
==========================================
  Files         413      413              
  Lines       66157    66157              
==========================================
+ Hits        47179    47187       +8     
+ Misses      18978    18970       -8     
Components Coverage Δ
libdd-crashtracker 58.65% <ø> (ø)
libdd-crashtracker-ffi 14.37% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.04% <ø> (ø)
libdd-data-pipeline-ffi 77.01% <ø> (ø)
libdd-common 81.11% <ø> (ø)
libdd-common-ffi 74.19% <ø> (ø)
libdd-telemetry 60.26% <ø> (+0.03%) ⬆️
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (-0.11%) ⬇️
libdd-profiling 81.04% <ø> (-0.02%) ⬇️
libdd-profiling-ffi 62.43% <ø> (ø)
datadog-sidecar 35.99% <ø> (ø)
datdog-sidecar-ffi 11.46% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 92.44% <ø> (ø)
libdd-trace-normalization 82.33% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 89.74% <ø> (ø)
datadog-tracer-flare 61.06% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Dec 17, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.57 MB 7.57 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 87.80 MB 87.80 MB 0% (0 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 59.43 MB 59.43 MB 0% (0 B) 👌
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.58 MB 8.58 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.71 MB 9.71 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 101.52 MB 101.52 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 20.43 MB 20.43 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 73.49 KB 73.49 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 151.27 MB 151.27 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 817.84 MB 817.84 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.51 MB 6.51 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 73.49 KB 73.49 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 20.14 MB 20.14 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 39.52 MB 39.52 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 17.43 MB 17.43 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 74.62 KB 74.62 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 154.13 MB 154.15 MB +.01% (+16.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 805.63 MB 805.63 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 5.01 MB 5.01 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 74.62 KB 74.62 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 21.47 MB 21.47 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 37.29 MB 37.29 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 76.05 MB 76.05 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.00 MB 9.00 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 60.76 MB 60.76 MB 0% (0 B) 👌
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.63 MB 9.63 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 95.61 MB 95.61 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.45 MB 10.45 MB 0% (0 B) 👌

@hoolioh hoolioh changed the title Julio/versioning/pr semver check ci: check that PR title and source code changes are aligned Dec 19, 2025
@hoolioh hoolioh changed the base branch from main to julio/versioning/enforce-conventional-commits-pr December 19, 2025 16:44
Base automatically changed from julio/versioning/enforce-conventional-commits-pr to main January 8, 2026 12:04
@hoolioh hoolioh force-pushed the julio/versioning/pr-semver-check branch 2 times, most recently from 3c6890c to 4ff4f16 Compare January 9, 2026 11:54
@hoolioh hoolioh marked this pull request as ready for review January 9, 2026 11:55
@hoolioh hoolioh requested a review from a team as a code owner January 9, 2026 11:55
Comment on lines 44 to 73
while IFS= read -r crate_path; do
# Skip empty lines
if [[ -z "$crate_path" ]]; then
continue
fi

# Check if any files in this crate directory changed
if echo "$CHANGED_FILES" | grep -q "^${crate_path}/"; then
CRATE_MANIFEST="${crate_path}/Cargo.toml"

# Skip if Cargo.toml doesn't exist
if [[ ! -f "$CRATE_MANIFEST" ]]; then
continue
fi

# Check if crate has "publish = false"
if grep -q "^publish = false" "$CRATE_MANIFEST"; then
echo "Skipping unpublished crate: $crate_path"
continue
fi

# Extract crate name
CRATE_NAME=$(grep "^name = " "$CRATE_MANIFEST" | head -1 | sed 's/name = "\(.*\)"/\1/')

if [[ -n "$CRATE_NAME" ]]; then
echo "Detected change in published crate: $CRATE_NAME ($crate_path)"
CHANGED_CRATES+=("$CRATE_NAME")
fi
fi
done < <(sed -n 's/^ "\(.*\)",\?$/\1/p' Cargo.toml)
Copy link
Contributor

@paullegranddc paullegranddc Jan 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this whole section would be less brittle if you just parsed the output of cargo metadata

A small jq script like this to grab the paths and names works for instance

cargo metadata | jq '.workspace_default_members as $members
  | .packages
  | map(
    select(.id | IN($members[]))
    | select(.publish == null)
    | {name, path: .manifest_path | rtrimstr("/Cargo.toml")}
  )'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll definitely try that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paullegranddc I've already tweaked the code. Let me know if it looks better.

@hoolioh hoolioh requested a review from a team as a code owner January 13, 2026 12:15
* Use cargo-metadata to parse the list of crates that has changed.
* Add publish field to build-common.
@hoolioh hoolioh force-pushed the julio/versioning/pr-semver-check branch from 5d952a9 to db33d39 Compare January 13, 2026 13:45
@hoolioh
Copy link
Contributor Author

hoolioh commented Jan 13, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link

gh-worker-devflow-routing-ef8351 bot commented Jan 13, 2026

View all feedbacks in Devflow UI.

2026-01-13 16:26:13 UTC ℹ️ Start processing command /merge


2026-01-13 16:26:50 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 28m (p90).


2026-01-13 17:02:51 UTC ℹ️ MergeQueue: This merge request was merged

@dd-mergequeue dd-mergequeue bot merged commit de271ed into main Jan 13, 2026
50 of 51 checks passed
@dd-mergequeue dd-mergequeue bot deleted the julio/versioning/pr-semver-check branch January 13, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants