def main()

in resources/code/cdk/cicd/resources/runExperiment.py [0:0]


def main(argv):
    experiment_name = argv[0]
    commit_id = argv[1]
    templateID = getExperimentTemplateID(experiment_name)
    if(templateID == None):
        print("Could not find experiment template for [" + experiment_name + "]")
        sys.exit()

    formatted_experiment_name = f"cicd-{experiment_name}-{commit_id}"
    print("Starting new [" + formatted_experiment_name + "] experiment")
    startExperimentResponse = fisClient.start_experiment(
        experimentTemplateId=templateID,
        tags={
            'Name': formatted_experiment_name
        }
    )

    experimentID = startExperimentResponse['experiment']['id']
    experimentStatus = startExperimentResponse['experiment']['state']['status']
    print("Started experiment ID [" + experimentID + "]")
    print("Current status is [" + experimentStatus + "]")

    while(experimentStatus not in ['completed', 'stopped' , 'failed']):
        print("Waiting for experiment to complete. Current Status is [" + experimentStatus + "]")
        time.sleep(30)
        getExperimentResponse = fisClient.get_experiment(
            id = experimentID
        )
        experimentID = getExperimentResponse['experiment']['id']
        experimentStatus = getExperimentResponse['experiment']['state']['status']

    print("Experiment Complete with status [" + experimentStatus + "]")
    print("Result was [" + getExperimentResponse['experiment']['state']['reason'] + "]")

    if(experimentStatus == 'completed'):
        return 0
    else: 
        raise NameError('ExperimentFailed')