Support testing PRs.

This commit is contained in:
Rene Rivera
2017-05-20 17:15:57 -05:00
parent e4e4fb27df
commit 330c761ab6
2 changed files with 10 additions and 1 deletions

View File

@@ -441,6 +441,7 @@ class script_common(object):
set_arg(kargs,'repo',None)
set_arg(kargs,'root_dir',None)
set_arg(kargs,'actions',None)
set_arg(kargs,'pull_request', None)
#~ Defaults
for (k,v) in kargs.iteritems():
@@ -589,6 +590,7 @@ class ci_travis(object):
set_arg(kargs,'branch', os.getenv("TRAVIS_BRANCH"))
set_arg(kargs,'commit', os.getenv("TRAVIS_COMMIT"))
set_arg(kargs,'repo', os.getenv("TRAVIS_REPO_SLUG").split("/")[1])
set_arg(kargs,'pull_request', os.getenv('TRAVIS_PULL_REQUEST'))
return kargs
def finish(self, result):
@@ -669,6 +671,7 @@ class ci_circleci(object):
set_arg(kargs,'branch', os.getenv("CIRCLE_BRANCH"))
set_arg(kargs,'commit', os.getenv("CIRCLE_SHA1"))
set_arg(kargs,'repo', os.getenv("CIRCLE_PROJECT_REPONAME").split("/")[1])
set_arg(kargs,'pull_request', os.getenv('CIRCLE_PR_NUMBER'))
return kargs
def finish(self, result):
@@ -739,6 +742,7 @@ class ci_appveyor(object):
set_arg(kargs,'repo',os.getenv("APPVEYOR_REPO_NAME").split("/")[1])
set_arg(kargs,'address_model',os.getenv("PLATFORM",None))
set_arg(kargs,'variant',os.getenv("CONFIGURATION","debug"))
set_arg(kargs,'pull_request', os.getenv('APPVEYOR_PULL_REQUEST_NUMBER'))
return kargs
def finish(self, result):

View File

@@ -96,7 +96,12 @@ class script(script_common):
# Checkout the library commit we are testing.
if self.repo != 'boost' and self.commit:
os.chdir(self.repo_dir)
utils.check_call("git","checkout","-qf",self.commit)
if not self.pull_request:
utils.check_call("git","checkout","-qf",self.commit)
else:
utils.check_call("git","fetch","origin","-q",
"+refs/pull/{}/merge".format(self.pull_request))
utils.check_call("git","checkout","-qf","FETCH_HEAD")
# Create config file for toolset.
if not isinstance(self.ci, ci_cli):