Exemplo n.º 1
0
 def repository(self):
     # Need to check central before landing repos
     head = self.gecko_commits.head.sha1
     repo = gecko_repo(self.git_gecko, head)
     if repo is None:
         raise ValueError("Commit %s not part of any repository" % head)
     return repo
Exemplo n.º 2
0
    def __call__(self, git_gecko, git_wpt, body):
        newrelic.agent.set_transaction_name("PushHandler")
        repo = body["_meta"]["routing_key"]
        if "/" in repo:
            repo_name = repo.rsplit("/", 1)[1]
        else:
            repo_name = repo

        # Commands can override the base rev and select only certain processses
        base_rev = body.get("_wptsync", {}).get("base_rev")
        processes = body.get("_wptsync", {}).get("processes")

        # Not sure if it's ever possible to get multiple heads here in a way that
        # matters for us
        rev = body["payload"]["data"]["heads"][0]
        logger.info("Handling commit %s to repo %s" % (rev, repo))

        newrelic.agent.add_custom_parameter("repo", repo)
        newrelic.agent.add_custom_parameter("rev", rev)

        update_repositories(git_gecko,
                            git_wpt,
                            include_autoland=True,
                            wait_gecko_commit=rev)
        try:
            git_rev = git_gecko.cinnabar.hg2git(rev)
        except ValueError:
            pass
        else:
            if gecko_repo(git_gecko, git_rev) is None:
                logger.info("Skipping commit as it isn't in a branch we track")
                return
        if processes is None or "upstream" in processes:
            upstream.gecko_push(git_gecko,
                                git_wpt,
                                repo_name,
                                rev,
                                base_rev=base_rev)
        if processes is None or "landing" in processes:
            landing.gecko_push(git_gecko,
                               git_wpt,
                               repo_name,
                               rev,
                               base_rev=base_rev)