def trigger_build(self, pr, comment): prs = {} prs[pr.short_repo_name] = pr.number for repo_name in pr.merge_with: if repo_name not in prs: prs[repo_name] = pr.merge_with[repo_name] description = "" exotics = False if "exotic" in comment: exotics = True description = "(with exotics)" if self.interactive: msg = [] msg.append(str(comment)) msg.append("Triger build for: {}".format(pr.title)) msg.append("PRs: {}".format(prs)) msg.append("EXOTICS: {}".format(exotics)) msg = "\n".join(msg) if not confirmation(msg): return headers, body = self.jenkins.trigger(prs, pr.base_branch, pr.title, exotics, comment.author) queue_url = headers["Location"] num, url = self.jenkins.wait_for_queue(queue_url) print("Triggered build ({}): {}".format(num, url)) self.comment_badge(pr, num, url, description)
def post(self, path, data, msg=None): if self.interactive: print("I'd like to POST something") msg = "" if msg is None else msg msg += "Path: {}".format(path) msg += "Data: {}".format(data) if not confirmation(msg): return False self.github.post(path, data) return True
def trigger_build(self, pr, comment): prs = {} prs[pr.short_repo_name] = pr.number #TODO: allow pr numbers in comments if self.interactive: msg = [] msg.append(str(comment)) msg.append("Triger build for: {}".format(pr.title)) msg.append("PRs: {}".format(prs)) msg = "\n".join(msg) if not confirmation(msg): return headers, body = self.jenkins.trigger(prs, branch=pr.base_branch, title=pr.title) queue_url = headers["Location"] num, url = self.jenkins.wait_for_queue(queue_url) print("Triggered build ({}): {}".format(num, url)) self.comment_badge(pr, num, url)
def trigger_build(self, pr: PR, comment): prs: Dict[str, int] = {} prs[pr.short_repo_name] = pr.number for repo_name in pr.merge_with: if repo_name not in prs: prs[repo_name] = pr.merge_with[repo_name] description = "" exotics = False if "exotic" in comment: exotics = True description = "(with exotics)" # flag if docs build is requested docs = pr.short_repo_name.startswith('documentation') no_tests = "no tests" in comment if no_tests: description += " [NO TESTS]" if self.interactive: msg = [] msg.append(str(comment)) msg.append("Triger build for: {}".format(pr.title)) msg.append("PRs: {}".format(prs)) msg.append("EXOTICS: {}".format(exotics)) msg.append("NO_TESTS: {}".format(no_tests)) msg = "\n".join(msg) if not confirmation(msg): return headers, body = self.jenkins.trigger(prs, pr.base_branch, pr.title, exotics, comment.author, docs, no_tests) queue_url = headers["Location"] num, url = self.jenkins.wait_for_queue(queue_url) print("Triggered build ({}): {}".format(num, url)) self.comment_badge(pr, num, url, description)