@@ -2,7 +2,7 @@ use crate::actions::{self, Action, ActionsCtx};
22use crate :: db:: { Database , QueryUtils } ;
33use crate :: experiments:: { CapLints , CrateSelect , Experiment , GitHubIssue , Mode , Status } ;
44use crate :: prelude:: * ;
5- use crate :: server:: github:: { Issue , Repository } ;
5+ use crate :: server:: github:: { GitHub , Issue , Repository } ;
66use crate :: server:: messages:: { Label , Message } ;
77use crate :: server:: routes:: webhooks:: args:: {
88 AbortArgs , CheckArgs , EditArgs , RetryArgs , RetryReportArgs , RunArgs ,
@@ -55,13 +55,17 @@ pub fn run(
5555) -> Fallible < ( ) > {
5656 let name = setup_run_name ( & data. db , issue, args. name ) ?;
5757
58+ let mut message = Message :: new ( ) . line (
59+ "ok_hand" ,
60+ format ! ( "Experiment **`{}`** created and queued." , name) ,
61+ ) ;
62+
5863 // Autodetect toolchains only if none of them was specified
59- let ( mut detected_start, mut detected_end, mut try_build ) = ( None , None , None ) ;
64+ let ( mut detected_start, mut detected_end) = ( None , None ) ;
6065 if args. start . is_none ( ) && args. end . is_none ( ) {
6166 if let Some ( build) =
6267 crate :: server:: try_builds:: get_sha ( & data. db , & repo. full_name , issue. number ) ?
6368 {
64- try_build = Some ( build. merge_sha . clone ( ) ) ;
6569 detected_start = Some ( Toolchain {
6670 source : RustwideToolchain :: ci ( & build. base_sha , false ) ,
6771 rustflags : None ,
@@ -74,6 +78,20 @@ pub fn run(
7478 ci_try : true ,
7579 patches : Vec :: new ( ) ,
7680 } ) ;
81+ message = message. line (
82+ "robot" ,
83+ format ! ( "Automatically detected try build {}" , build. merge_sha) ,
84+ ) ;
85+ let pr_head = data. github . get_pr_head_sha ( & repo. full_name , issue. number ) ?;
86+ if pr_head != build. base_sha {
87+ message = message. line (
88+ "warning" ,
89+ format ! (
90+ "Try build based on commit {}, but latest commit is {}. Did you forget to make a new try build?" ,
91+ build. base_sha, pr_head
92+ ) ,
93+ ) ;
94+ }
7795 }
7896 }
7997
@@ -110,13 +128,6 @@ pub fn run(
110128 }
111129 . apply ( & ActionsCtx :: new ( & data. db , & data. config ) ) ?;
112130
113- let mut message = Message :: new ( ) . line (
114- "ok_hand" ,
115- format ! ( "Experiment **`{}`** created and queued." , name) ,
116- ) ;
117- if let Some ( sha) = try_build {
118- message = message. line ( "robot" , format ! ( "Automatically detected try build {}" , sha) ) ;
119- }
120131 message
121132 . line (
122133 "mag" ,
0 commit comments