Ejemplo n.º 1
0
                for parent in repo_dependencies[dependent_repo_name]:
                    if parent in repo_names:
                        return parent

            return dependent_repo_name


        for repository in job_config.get("sync_repos", []):
            if repository.get("type", None) == "pull_request":
                debug("[INFO] Adding PR sync for : " + repository["name"])
                sync_actions.append(PullRequestSyncAction(repository["name"]))
            else:
                # if test is a PR, point to dependency repository to the PR's repository branch
                debug("[INFO] Adding repo sync for : " + repository["name"])
                dependency_repository = get_parent_repo(repository["name"]) if is_pull_request else repository["name"]
                sync_actions.append(SyncAction(repository["name"], dependency_repository))

        if len(sync_actions) > 0:
            debug("[INFO] Coalescing into multi sync")
            actions.append(MultiSyncAction(output_format, sync_actions))

    # we need to expose the extra -e vars to the steps
    if "evars" in job_config:
        actions.append(EvarsAction(job_config["evars"], output_format))

    def parse_action(action):
        if action["type"] == "script":
            debug("[INFO] Adding script action " + action.get("title", ""))
            return ScriptAction(action.get("repository", None), action["script"], action.get("title", None),
                                action.get("timeout", None), output_format)
        elif action["type"] == "host_script":
Ejemplo n.º 2
0
    # next, all jobs will provision a remote VM
    actions.append(
        ProvisionAction(
            os=job_config["provision"]["os"],
            stage=job_config["provision"]["stage"],
            provider=job_config["provision"]["provider"],
        ))

    # next, repositories will be synced to the remote VM
    sync_actions = []
    for repository in job_config.get("sync_repos", []):
        if repository.get("type", None) == "pull_request":
            sync_actions.append(PullRequestSyncAction(repository["name"]))
        else:
            sync_actions.append(SyncAction(repository["name"]))

    if len(sync_actions) > 0:
        actions.append(MultiSyncAction(sync_actions))

    # now, the job can define actions to take
    for action in job_config.get("actions", []):
        if action["type"] == "script":
            actions.append(
                ScriptAction(action.get("repository", None), action["script"],
                             action.get("title", None),
                             action.get("timeout", None)))
        elif action["type"] == "host_script":
            actions.append(
                HostScriptAction(action["script"], action.get("title", None)))
        elif action["type"] == "forward_parameters":
Ejemplo n.º 3
0
        if dependent_repo_name in repo_dependencies:
            for parent in repo_dependencies[dependent_repo_name]:
                if parent in repo_names:
                    return parent

        return dependent_repo_name

    for repository in job_config.get("sync_repos", []):
        if repository.get("type", None) == "pull_request":
            sync_actions.append(PullRequestSyncAction(repository["name"]))
        else:
            # if test is a PR, point to dependency repository to the PR's repository branch
            dependency_repository = get_parent_repo(
                repository["name"]) if is_pull_request else repository["name"]
            sync_actions.append(
                SyncAction(repository["name"], dependency_repository))

    if len(sync_actions) > 0:
        actions.append(MultiSyncAction(sync_actions))

    def parse_action(action):
        if action["type"] == "script":
            return ScriptAction(action.get("repository", None),
                                action["script"], action.get("title", None),
                                action.get("timeout", None))
        elif action["type"] == "host_script":
            return HostScriptAction(action["script"],
                                    action.get("title", None))
        elif action["type"] == "forward_parameters":
            return ForwardParametersAction(action.get("parameters", []))
        else: