Exemple #1
0
def test_task_run(aws_credentials):
    # https://github.com/spulec/moto/blob/master/tests/test_ecs/test_ecs_boto3.py#L1088
    ecs_init()
    config = TaskConfig()
    config.set(cluster="abc", taskDefinition="xyz")
    config.task_count = 14
    Task.retry_delay = 0
    task = Task(config)
    task_count, api_calls_count = task.run()
    task.wait()
    assert task.task_arns
    assert task.task_ids
    assert task_count == 14
    assert api_calls_count == 2
Exemple #2
0
def start():
    env = os.environ
    input = Input(dict(env))  # pylint: disable=redefined-builtin
    task_params_file = env.get("INPUT_TASK_PARAMS_FILE")
    config = TaskConfig(task_params_file)
    config.set_repository(env["GITHUB_REPOSITORY"])
    config.set(
        **input.as_dict(),
        group=config.repository,
        startedBy=env.get("GITHUB_ACTOR", "UNKNOWN"),
    )
    config.task_count = int(env.get("INPUT_TASK_COUNT", 1))

    logger.info(
        f"Start task execution with definition '{config.task_definition}' on cluster '{config.cluster}'"
    )
    config.set_container_env({
        "GITHUB_PERSONAL_TOKEN": input["githubPat"],
        "GITHUB_OWNER": env["GITHUB_REPOSITORY_OWNER"],
        "GITHUB_REPOSITORY": config.repository,
        "RUNNER_NAME": env["GITHUB_JOB"],
    })
    config.set_capacity_provider(input.get("capacityProvider"))
    logger.info("Ready to execute with config:")
    logger.info(config.as_dict())

    task = Task(config)
    task.run()
    if input.should_wait:
        task.wait()
        newline = "\n"
        logger.info(
            f"The following tasks were launched: \n{newline.join(task.task_arns)}"
        )

    logger.info("Task(s) successfuly created.")
    logger.info(f"You can follow it on: {task.url}")
Exemple #3
0
def test_task_count_batch_size(count, expected):
    config = TaskConfig()
    config.set(cluster="abc", taskDefinition="xyz")
    config.task_count = count
    task = Task(config)
    assert task.get_batch_sizes() == expected