17
17
import copy
18
18
import datetime
19
19
import collections
20
+ import textwrap
20
21
21
22
# List of people to ping when the status of a tool changed.
22
23
MAINTAINERS = {
@@ -38,7 +39,12 @@ def read_current_status(current_commit, path):
38
39
return {}
39
40
40
41
41
- def update_latest (current_commit , relevant_pr_number , current_datetime ):
42
+ def update_latest (
43
+ current_commit ,
44
+ relevant_pr_number ,
45
+ relevant_pr_url ,
46
+ current_datetime
47
+ ):
42
48
'''Updates `_data/latest.json` to match build result of the given commit.
43
49
'''
44
50
with open ('_data/latest.json' , 'rb+' ) as f :
@@ -50,8 +56,13 @@ def update_latest(current_commit, relevant_pr_number, current_datetime):
50
56
}
51
57
52
58
slug = 'rust-lang/rust'
53
- message = '📣 Toolstate changed by {}!\n \n Tested on commit {}@{}.\n \n ' \
54
- .format (relevant_pr_number , slug , current_commit )
59
+ message = textwrap .dedent ('''\
60
+ 📣 Toolstate changed by {}!
61
+
62
+ Tested on commit {}@{}.
63
+ Direct link to PR: <{}>
64
+
65
+ ''' ).format (relevant_pr_number , slug , current_commit , relevant_pr_url )
55
66
anything_changed = False
56
67
for status in latest :
57
68
tool = status ['tool' ]
@@ -90,13 +101,21 @@ def update_latest(current_commit, relevant_pr_number, current_datetime):
90
101
cur_commit_msg = sys .argv [2 ]
91
102
save_message_to_path = sys .argv [3 ]
92
103
93
- relevant_pr_match = re .search ('#[0-9]+' , cur_commit_msg )
104
+ relevant_pr_match = re .search ('#( [0-9]+) ' , cur_commit_msg )
94
105
if relevant_pr_match :
95
- relevant_pr_number = 'rust-lang/rust' + relevant_pr_match .group (0 )
106
+ number = relevant_pr_match .group (1 )
107
+ relevant_pr_number = 'rust-lang/rust#' + number
108
+ relevant_pr_url = 'https://github.com/rust-lang/rust/pull/' + number
96
109
else :
97
110
relevant_pr_number = '<unknown PR>'
98
-
99
- message = update_latest (cur_commit , relevant_pr_number , cur_datetime )
111
+ relevant_pr_url = '<unknown>'
112
+
113
+ message = update_latest (
114
+ cur_commit ,
115
+ relevant_pr_number ,
116
+ relevant_pr_url ,
117
+ cur_datetime
118
+ )
100
119
if message :
101
120
print (message )
102
121
with open (save_message_to_path , 'w' ) as f :
0 commit comments