Esempio n. 1
0
def circle_ci_survey(survey_tags,survey_repo=None,delete=True,survey_file="survey.tsv"):
    '''circle_ci_survey checks format of surveys.tsv file
    :param survey_tags: list of survey folders (exp_id variables) to test
    :param survey_repo: folder with experiments to test. If None, will pull from master branch
    :param delete: delete experiment folders when finished
    '''

    if isinstance(survey_tags,str):
        survey_tags = [survey_tags]

    # If we are running on circle, only test changed experiments
    if "CIRCLE_BRANCH" in os.environ.keys():

        print "DETECTED CONTINUOUS INTEGRATION ENVIRONMENT..."

        survey_repo = os.getcwd()
        master_folder = os.path.abspath(os.path.join(survey_repo,"master"))
        if not os.path.exists(master_folder):
            os.mkdir(master_folder)
            download_repo("surveys",master_folder)
        changed_surveys = [os.path.split(x)[-1] for x in find_changed(survey_repo,master_folder,repo_type="surveys")]    
        changed_surveys = [e for e in survey_tags if e in changed_surveys]
        
    if len(changed_surveys) > 0:
        validate_surveys(survey_tags=changed_surveys,survey_repo=survey_repo,survey_file=survey_file)
    else:
        print "Skipping surveys %s, no changes detected." %(",".join(survey_tags))
Esempio n. 2
0
def circle_ci_survey(survey_tags,web_folder,survey_repo=None,delete=True,survey_file="survey.tsv"):
    '''circle_ci_survey checks format of surveys.tsv file
    :param survey_tags: list of survey folders (exp_id variables) to test
    :param web folder: folder with generated survey web
    :param survey_repo: folder with experiments to test. If None, will pull from master branch
    :param delete: delete experiment folders when finished
    '''

    if isinstance(survey_tags,str):
        survey_tags = [survey_tags]

    # If we are running on circle, only test changed experiments
    if "CIRCLE_BRANCH" in os.environ.keys():

        print "DETECTED CONTINUOUS INTEGRATION ENVIRONMENT..."

        survey_repo = os.getcwd()
        master_folder = os.path.abspath(os.path.join(survey_repo,"master"))
        if not os.path.exists(master_folder):
            os.mkdir(master_folder)
            download_repo("surveys",master_folder)
        changed_surveys = [os.path.split(x)[-1] for x in find_changed(survey_repo,master_folder,repo_type="surveys")]    
        changed_surveys = [e for e in survey_tags if e in changed_surveys]
        
    if len(changed_surveys) > 0:
        validate_surveys(survey_tags=changed_surveys,survey_repo=survey_repo,survey_file=survey_file)
        generate_experiment_web(web_folder,survey_folder=os.path.abspath(survey_repo)) 
        survey_robot_web(web_folder,survey_tags=changed_surveys)
    else:
        print "Skipping surveys %s, no changes detected." %(",".join(survey_tags))
Esempio n. 3
0
def circle_ci_test(experiment_tags,web_folder,experiment_repo=None,delete=True,pause_time=500):
    '''circle_ci_test
    Deploy experiment testing robot, requires generation of web folder, and can be deleted on finish.
    :param experiment_tags: list of experiment folders (exp_id variables) to test
    :param web_folder: output web folder to generate experiment web. Will be created if does not exist
    :param experiment_repo: folder with experiments to test. If None, will pull from master branch
    :param delete: delete experiment folders when finished
    :param pause_time: The time to pause between experiments, in addition to post trial times
    '''

    if isinstance(experiment_tags,str):
        experiment_tags = [experiment_tags]

    # If we are running on circle, only test changed experiments
    if "CIRCLE_BRANCH" in os.environ.keys():

        print "DETECTED CONTINUOUS INTEGRATION ENVIRONMENT..."

        master_folder = os.path.abspath(os.path.join(os.getcwd(),"master"))
        if not os.path.exists(master_folder):
            os.mkdir(master_folder)
            download_repo("experiments",master_folder)
        changed_experiments = [os.path.split(x)[-1] for x in find_changed(os.getcwd(),master_folder)]    
        changed_experiments = [e for e in experiment_tags if e in changed_experiments]
        
    if len(changed_experiments) > 0:
        generate_experiment_web(web_folder,experiment_folder=os.path.abspath(experiment_repo),make_surveys=False) 
        experiment_robot_web(web_folder,experiment_tags=changed_experiments)
    else:
        print "Skipping experiments %s, no changes detected." %(",".join(experiment_tags))
Esempio n. 4
0
def circle_ci_test(experiment_tags,web_folder,experiment_repo=None,delete=True,pause_time=500,repo_type="experiments"):
    '''circle_ci_test
    Deploy experiment testing robot, requires generation of web folder, and can be deleted on finish.
    :param experiment_tags: list of experiment folders (exp_id variables) to test
    :param web_folder: output web folder to generate experiment web. Will be created if does not exist
    :param experiment_repo: folder with experiments to test. If None, will pull from master branch
    :param delete: delete experiment folders when finished
    :param pause_time: The time to pause between experiments, in addition to post trial times
    '''

    if isinstance(experiment_tags,str):
        experiment_tags = [experiment_tags]

    # If we are running on circle, only test changed experiments
    if "CIRCLE_BRANCH" in os.environ.keys():

        print "DETECTED CONTINUOUS INTEGRATION ENVIRONMENT..."

        master_folder = os.path.abspath(os.path.join(os.getcwd(),"master"))
        if not os.path.exists(master_folder):
            os.mkdir(master_folder)
            download_repo(repo_type,master_folder)
        changed_experiments = [os.path.split(x)[-1] for x in find_changed(os.getcwd(),master_folder)]    
        changed_experiments = [e for e in experiment_tags if e in changed_experiments]
        
    if len(changed_experiments) > 0:
        generate_experiment_web(web_folder,experiment_folder=os.path.abspath(experiment_repo),make_surveys=False) 
        experiment_robot_web(web_folder,experiment_tags=changed_experiments)
    else:
        print "Skipping %s %s, no changes detected." %(repo_type,",".join(experiment_tags))