def compile_run_monitor_pipeline(client, experiment_id, pipeline_definition, input_params, output_file_dir, pipeline_name, timeout, status_to_check='succeeded', check=True):
    run_id = compile_and_run_pipeline(client, experiment_id, pipeline_definition, input_params, output_file_dir, pipeline_name)
    status = wait_for_job_status(client, run_id, timeout, status_to_check)
    workflow_json = get_workflow_json(client, run_id)
    if (check and (not status)):
        argo_utils.print_workflow_logs(workflow_json['metadata']['name'])
        pytest.fail(f'Test Failed: {pipeline_name}. Run-id: {run_id}')
    return (run_id, status, workflow_json)
def compile_run_monitor_pipeline(client, experiment_id, pipeline_definition, input_params, output_file_dir, pipeline_name, timeout, status_to_check='succeeded', check=True):
    run_id = compile_and_run_pipeline(client, experiment_id, pipeline_definition, input_params, output_file_dir, pipeline_name)
    status = wait_for_job_status(client, run_id, timeout, status_to_check)
    workflow_json = get_workflow_json(client, run_id)
    if (check and (not status)):
        argo_utils.print_workflow_logs(workflow_json['metadata']['name'])
        pytest.fail(f'Test Failed: {pipeline_name}. Run-id: {run_id}')
    return (run_id, status, workflow_json)