script:
MESSAGE_FILE=$(mktemp -t msg.XXXXXX);
. 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:
global:
import datetime
import collections
import textwrap
+try:
+ import urllib2
+except ImportError:
+ import urllib.request as urllib2
# List of people to ping when the status of a tool changed.
MAINTAINERS = {
cur_datetime = datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
cur_commit_msg = sys.argv[2]
save_message_to_path = sys.argv[3]
+ github_token = sys.argv[4]
relevant_pr_match = re.search('#([0-9]+)', cur_commit_msg)
if relevant_pr_match:
relevant_pr_number = 'rust-lang/rust#' + number
relevant_pr_url = 'https://github.com/rust-lang/rust/pull/' + number
else:
+ number = '-1'
relevant_pr_number = '<unknown PR>'
relevant_pr_url = '<unknown>'
relevant_pr_url,
cur_datetime
)
- if message:
- print(message)
- with open(save_message_to_path, 'w') as f:
- f.write(message)
- else:
+ if not message:
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()