From 3557f8f570533bb8a2c805cf6e00e42e0f071150 Mon Sep 17 00:00:00 2001 From: John Kirkham Date: Mon, 19 Sep 2016 17:51:23 -0400 Subject: [PATCH] linting: Recheck PR info if it's mergeability is not determined yet. --- conda_forge_webservices/linting.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/conda_forge_webservices/linting.py b/conda_forge_webservices/linting.py index 120bf60fb..34f59342f 100644 --- a/conda_forge_webservices/linting.py +++ b/conda_forge_webservices/linting.py @@ -4,6 +4,7 @@ import shutil import tempfile import textwrap +import time import requests from git import Repo @@ -27,7 +28,11 @@ def compute_lint_message(repo_owner, repo_name, pr_id): owner = gh.get_user(repo_owner) repo = owner.get_repo(repo_name) - pull_request = repo.get_pull(pr_id) + mergeable = None + while mergeable is None: + pull_request = repo.get_pull(pr_id) + mergeable = pull_request.mergeable + time.sleep(0.1) with tmp_directory() as tmp_dir: repo = Repo.clone_from(repo.clone_url, tmp_dir) @@ -38,7 +43,7 @@ def compute_lint_message(repo_owner, repo_name, pr_id): sha = str(repo.head.object.hexsha) # Raise an error if the PR is not mergeable. - if not pull_request.mergeable: + if not mergeable: message = textwrap.dedent(""" Hi! This is the friendly automated conda-forge-linting service.