Submit a comment to the PR in additional to pushing a commit.

Fix rust-lang-nursery/rust-toolstate#2.
This commit is contained in:
kennytm 2018-02-21 22:58:06 +08:00
parent 1acd3789bb
commit e18105079e
No known key found for this signature in database
GPG Key ID: FEF6C8051D0E013C
2 changed files with 26 additions and 6 deletions

View File

@ -188,7 +188,7 @@ matrix:
script: script:
MESSAGE_FILE=$(mktemp -t msg.XXXXXX); MESSAGE_FILE=$(mktemp -t msg.XXXXXX);
. src/ci/docker/x86_64-gnu-tools/repo.sh; . src/ci/docker/x86_64-gnu-tools/repo.sh;
commit_toolstate_change "$MESSAGE_FILE" "$TRAVIS_BUILD_DIR/src/tools/publish_toolstate.py" "$(git rev-parse HEAD)" "$(git log --format=%s -n1 HEAD)" "$MESSAGE_FILE" commit_toolstate_change "$MESSAGE_FILE" "$TRAVIS_BUILD_DIR/src/tools/publish_toolstate.py" "$(git rev-parse HEAD)" "$(git log --format=%s -n1 HEAD)" "$MESSAGE_FILE" "$TOOLSTATE_REPO_ACCESS_TOKEN";
env: env:
global: global:

View File

@ -18,6 +18,10 @@ import copy
import datetime import datetime
import collections import collections
import textwrap import textwrap
try:
import urllib2
except ImportError:
import urllib.request as urllib2
# List of people to ping when the status of a tool changed. # List of people to ping when the status of a tool changed.
MAINTAINERS = { MAINTAINERS = {
@ -100,6 +104,7 @@ if __name__ == '__main__':
cur_datetime = datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ') cur_datetime = datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
cur_commit_msg = sys.argv[2] cur_commit_msg = sys.argv[2]
save_message_to_path = sys.argv[3] save_message_to_path = sys.argv[3]
github_token = sys.argv[4]
relevant_pr_match = re.search('#([0-9]+)', cur_commit_msg) relevant_pr_match = re.search('#([0-9]+)', cur_commit_msg)
if relevant_pr_match: if relevant_pr_match:
@ -107,6 +112,7 @@ if __name__ == '__main__':
relevant_pr_number = 'rust-lang/rust#' + number relevant_pr_number = 'rust-lang/rust#' + number
relevant_pr_url = 'https://github.com/rust-lang/rust/pull/' + number relevant_pr_url = 'https://github.com/rust-lang/rust/pull/' + number
else: else:
number = '-1'
relevant_pr_number = '<unknown PR>' relevant_pr_number = '<unknown PR>'
relevant_pr_url = '<unknown>' relevant_pr_url = '<unknown>'
@ -116,9 +122,23 @@ if __name__ == '__main__':
relevant_pr_url, relevant_pr_url,
cur_datetime cur_datetime
) )
if message: if not message:
print(message)
with open(save_message_to_path, 'w') as f:
f.write(message)
else:
print('<Nothing changed>') print('<Nothing changed>')
sys.exit(0)
print(message)
with open(save_message_to_path, 'w') as f:
f.write(message)
# Write the toolstate comment on the PR as well.
gh_url = 'https://api.github.com/repos/rust-lang/rust/issues/{}/comments' \
.format(number)
response = urllib2.urlopen(urllib2.Request(
gh_url,
json.dumps({'body': message}),
{
'Authorization': 'token ' + github_token,
'Content-Type': 'application/json',
}
))
response.read()