Missed a small bit of logic where we were checking for built & not built projects. (#2131)
Add handling for calling project syncing when the project/branch isn't set to be built.break-out-core-urls-views
parent
f9cd668e7a
commit
a29e3ab854
|
@ -193,36 +193,50 @@ def get_project_from_url(url):
|
|||
return projects
|
||||
|
||||
|
||||
def pc_log_info(project, msg):
|
||||
pc_log.info(constants.LOG_TEMPLATE
|
||||
.format(project=project,
|
||||
version='',
|
||||
msg=msg))
|
||||
|
||||
|
||||
def _build_url(url, projects, branches):
|
||||
"""
|
||||
Map a URL onto specific projects to build that are linked to that URL.
|
||||
|
||||
Check each of the ``branches`` to see if they are active and should be built.
|
||||
"""
|
||||
try:
|
||||
for project in projects:
|
||||
(built, not_building) = _build_branches(project, branches)
|
||||
if not built:
|
||||
# Call update_imported_docs to update tag/branch info
|
||||
update_imported_docs.delay(project.versions.get(slug=LATEST).pk)
|
||||
msg = '(URL Build) Syncing versions for %s' % project.slug
|
||||
pc_log.info(msg)
|
||||
ret = ""
|
||||
all_built = {}
|
||||
all_not_building = {}
|
||||
for project in projects:
|
||||
(built, not_building) = _build_branches(project, branches)
|
||||
if not built:
|
||||
# Call update_imported_docs to update tag/branch info
|
||||
update_imported_docs.delay(project.versions.get(slug=LATEST).pk)
|
||||
msg = '(URL Build) Syncing versions for %s' % project.slug
|
||||
pc_log.info(msg)
|
||||
all_built[project.slug] = built
|
||||
all_not_building[project.slug] = not_building
|
||||
|
||||
for project_slug, built in all_built.items():
|
||||
if built:
|
||||
msg = '(URL Build) Build Started: %s [%s]' % (
|
||||
url, ' '.join(built))
|
||||
pc_log.info(msg)
|
||||
return HttpResponse(msg)
|
||||
else:
|
||||
pc_log_info(project_slug, msg=msg)
|
||||
ret += msg
|
||||
|
||||
for project_slug, not_building in all_not_building.items():
|
||||
if not_building:
|
||||
msg = '(URL Build) Not Building: %s [%s]' % (
|
||||
url, ' '.join(not_building))
|
||||
pc_log.info(msg)
|
||||
return HttpResponse(msg)
|
||||
except Exception as e:
|
||||
if e.__class__ == NoProjectException:
|
||||
raise
|
||||
msg = "(URL Build) Failed: %s:%s" % (url, e)
|
||||
pc_log.error(msg, exc_info=True)
|
||||
return HttpResponse(msg)
|
||||
pc_log_info(project_slug, msg=msg)
|
||||
ret += msg
|
||||
|
||||
if not ret:
|
||||
ret = '(URL Build) No known branches were pushed to.'
|
||||
|
||||
return HttpResponse(ret)
|
||||
|
||||
|
||||
@csrf_exempt
|
||||
|
@ -303,7 +317,7 @@ def bitbucket_build(request):
|
|||
rep = obj['repository']
|
||||
branches = [rec.get('branch', '') for rec in obj['commits']]
|
||||
ghetto_url = "%s%s" % (
|
||||
"bitbucket.org", rep['absolute_url'].rstrip('/'))
|
||||
"bitbucket.org", rep['absolute_url'].rstrip('/'))
|
||||
pc_log.info("(Incoming Bitbucket Build) %s [%s]" % (
|
||||
ghetto_url, ' '.join(branches)))
|
||||
pc_log.info("(Incoming Bitbucket Build) JSON: \n\n%s\n\n" % obj)
|
||||
|
|
|
@ -101,7 +101,7 @@ class GitLabWebHookTest(BasePostCommitTest):
|
|||
self.payload['ref'] = 'refs/heads/unknown'
|
||||
r = self.client.post('/gitlab/', {'payload': json.dumps(self.payload)})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertEqual(r.content, '(URL Build) Not Building: github.com/rtfd/readthedocs.org []')
|
||||
self.assertEqual(r.content, '(URL Build) No known branches were pushed to.')
|
||||
|
||||
def test_gitlab_post_commit_knows_default_branches(self):
|
||||
"""
|
||||
|
@ -250,7 +250,7 @@ class GitHubPostCommitTest(BasePostCommitTest):
|
|||
self.payload['ref'] = 'refs/heads/unknown'
|
||||
r = self.client.post('/github/', {'payload': json.dumps(self.payload)})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertEqual(r.content, '(URL Build) Not Building: github.com/rtfd/readthedocs.org []')
|
||||
self.assertEqual(r.content, '(URL Build) No known branches were pushed to.')
|
||||
|
||||
def test_github_post_commit_knows_default_branches(self):
|
||||
"""
|
||||
|
@ -411,7 +411,7 @@ class BitBucketHookTests(BasePostCommitTest):
|
|||
r = self.client.post('/bitbucket/', {'payload': json.dumps(self.hg_payload)})
|
||||
self.assertEqual(r.status_code, 200)
|
||||
self.assertEqual(
|
||||
r.content, '(URL Build) Not Building: bitbucket.org/pip/pip []')
|
||||
r.content, '(URL Build) No known branches were pushed to.')
|
||||
|
||||
def test_bitbucket_default_branch(self):
|
||||
self.test_project = get(
|
||||
|
|
Loading…
Reference in New Issue