@@ -28,7 +28,7 @@ pub fn check(config_path: Option<&Path>, verbose: bool) -> Result<()> {
2828 let result = run_release_logic ( & root, & config, true , verbose) ;
2929
3030 if config. workspace . telemetry {
31- telemetry:: send_event ( telemetry:: EventType :: Check , None , None , None ) ;
31+ telemetry:: send_event ( telemetry:: EventType :: Check , None , None , None , None ) ;
3232 }
3333
3434 result
@@ -79,8 +79,8 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
7979
8080 let mut any_bumped = false ;
8181 let mut files_to_commit: Vec < String > = Vec :: new ( ) ;
82- // (tag_name, tag_msg, body, pkg_name, version)
83- let mut tags_to_create: Vec < ( String , String , String , String , String ) > = Vec :: new ( ) ;
82+ // (tag_name, tag_msg, body, pkg_name, version, commits_count )
83+ let mut tags_to_create: Vec < ( String , String , String , String , String , i32 ) > = Vec :: new ( ) ;
8484 let mut hook_contexts: Vec < ( HookContext , usize ) > = Vec :: new ( ) ; // (ctx, pkg_index)
8585
8686 for ( pkg_idx, pkg) in config. packages . iter ( ) . enumerate ( ) {
@@ -280,6 +280,7 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
280280 Some ( & pkg. name ) ,
281281 Some ( & new_version) ,
282282 None ,
283+ Some ( commits. len ( ) as i32 ) ,
283284 ) ;
284285 }
285286
@@ -290,6 +291,7 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
290291 body,
291292 pkg. name . clone ( ) ,
292293 new_version. clone ( ) ,
294+ commits. len ( ) as i32 ,
293295 ) ) ;
294296 }
295297
@@ -327,7 +329,7 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
327329 // Build the release commit message.
328330 let release_parts: Vec < String > = tags_to_create
329331 . iter ( )
330- . map ( |( _, _, _, name, ver) | format ! ( "{name} v{ver}" ) )
332+ . map ( |( _, _, _, name, ver, _ ) | format ! ( "{name} v{ver}" ) )
331333 . collect ( ) ;
332334 let skip_ci = if config. workspace . effective_skip_ci ( ) {
333335 " [skip ci]"
@@ -362,7 +364,7 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
362364 "Automated release commit.\n \n {}" ,
363365 tags_to_create
364366 . iter( )
365- . map( |( tag, _, _, _, _) | format!( "- `{tag}`" ) )
367+ . map( |( tag, _, _, _, _, _ ) | format!( "- `{tag}`" ) )
366368 . collect:: <Vec <_>>( )
367369 . join( "\n " )
368370 ) ;
@@ -400,7 +402,7 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
400402 }
401403
402404 // Tags are always created on the current HEAD.
403- for ( tag_name, tag_msg, _, _, _) in & tags_to_create {
405+ for ( tag_name, tag_msg, _, _, _, _ ) in & tags_to_create {
404406 create_tag ( & repo, tag_name, tag_msg) ?;
405407 println ! ( " ✓ Created tag {}" , tag_name. cyan( ) ) ;
406408 }
@@ -429,7 +431,7 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
429431 // Push tags (and branch for commit mode).
430432 let tag_refs: Vec < & str > = tags_to_create
431433 . iter ( )
432- . map ( |( t, _, _, _, _) | t. as_str ( ) )
434+ . map ( |( t, _, _, _, _, _ ) | t. as_str ( ) )
433435 . collect ( ) ;
434436 match mode {
435437 ReleaseCommitMode :: Commit => {
@@ -458,20 +460,21 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
458460 }
459461
460462 if config. workspace . telemetry {
461- for ( _, _, _, pkg_name, version) in & tags_to_create {
463+ for ( _, _, _, pkg_name, version, commit_count ) in & tags_to_create {
462464 telemetry:: send_event (
463465 telemetry:: EventType :: Release ,
464466 Some ( pkg_name) ,
465467 Some ( version) ,
466468 None ,
469+ Some ( * commit_count) ,
467470 ) ;
468471 }
469472 }
470473
471474 if let Ok ( token) = std:: env:: var ( "GITHUB_TOKEN" )
472475 && let Some ( slug) = get_repo_slug ( & repo, & config. workspace . remote )
473476 {
474- for ( tag_name, _, body, _, _) in & tags_to_create {
477+ for ( tag_name, _, body, _, _, _ ) in & tags_to_create {
475478 match create_github_release ( & token, & slug, tag_name, body) {
476479 Ok ( ( ) ) => println ! ( " ✓ GitHub Release {}" , tag_name. cyan( ) ) ,
477480 Err ( err) => eprintln ! (
@@ -493,7 +496,7 @@ fn run_release_logic(root: &Path, config: &Config, dry_run: bool, verbose: bool)
493496 . open ( & summary_path)
494497 {
495498 let _ = writeln ! ( file, "## Released\n " ) ;
496- for ( tag_name, _, body, _, _) in & tags_to_create {
499+ for ( tag_name, _, body, _, _, _ ) in & tags_to_create {
497500 let _ = writeln ! ( file, "### {tag_name}\n " ) ;
498501 let _ = writeln ! ( file, "{body}" ) ;
499502 }
0 commit comments