@@ -2,7 +2,7 @@ use crate::actions::{self, Action, ActionsCtx};
2
2
use crate :: db:: { Database , QueryUtils } ;
3
3
use crate :: experiments:: { CapLints , CrateSelect , Experiment , GitHubIssue , Mode , Status } ;
4
4
use crate :: prelude:: * ;
5
- use crate :: server:: github:: { Issue , Repository } ;
5
+ use crate :: server:: github:: { GitHub , Issue , Repository } ;
6
6
use crate :: server:: messages:: { Label , Message } ;
7
7
use crate :: server:: routes:: webhooks:: args:: {
8
8
AbortArgs , CheckArgs , EditArgs , RetryArgs , RetryReportArgs , RunArgs ,
@@ -55,13 +55,17 @@ pub fn run(
55
55
) -> Fallible < ( ) > {
56
56
let name = setup_run_name ( & data. db , issue, args. name ) ?;
57
57
58
+ let mut message = Message :: new ( ) . line (
59
+ "ok_hand" ,
60
+ format ! ( "Experiment **`{}`** created and queued." , name) ,
61
+ ) ;
62
+
58
63
// 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 ) ;
60
65
if args. start . is_none ( ) && args. end . is_none ( ) {
61
66
if let Some ( build) =
62
67
crate :: server:: try_builds:: get_sha ( & data. db , & repo. full_name , issue. number ) ?
63
68
{
64
- try_build = Some ( build. merge_sha . clone ( ) ) ;
65
69
detected_start = Some ( Toolchain {
66
70
source : RustwideToolchain :: ci ( & build. base_sha , false ) ,
67
71
rustflags : None ,
@@ -74,6 +78,20 @@ pub fn run(
74
78
ci_try : true ,
75
79
patches : Vec :: new ( ) ,
76
80
} ) ;
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
+ }
77
95
}
78
96
}
79
97
@@ -110,13 +128,6 @@ pub fn run(
110
128
}
111
129
. apply ( & ActionsCtx :: new ( & data. db , & data. config ) ) ?;
112
130
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
- }
120
131
message
121
132
. line (
122
133
"mag" ,
0 commit comments