phobos ci module

This module enables the usage of phobos in a CI-pipeline like GitLab-CI.

For further usage information see the [phobos wiki](https://github.com/dfki-ric/phobos/wiki)

Submodules

phobos.ci.pipeline module

class phobos.ci.pipeline.Pipeline(configfile, processed_model_exists, subclass=False)

Bases: YAMLObject

deploy_models()

Moves everything from the temp to the repositories and pushes it to the repos

get_coverage(phases=None, allow_na=False)
has_failure()
number_unfinished_models()

Returns the number of models that have not been successfully or completely processed

print_fail_log(file=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>)
process_models()
relpath(path)
test_models()

Runs the configured test_routines over all models

class phobos.ci.pipeline.TestingPipeline(root, configfile, place_temp_in=None)

Bases: Pipeline

get_coverage(phases=None)
relpath(path)

phobos.ci.base_model module

class phobos.ci.base_model.BaseModel(configfile, pipeline, processed_model_exists=True)

Bases: YAMLObject

deploy(mesh_commit, failed_model=False, uses_lfs=False)
export()
static get_exported_model_path(pipeline, configfile)
get_input_meshes()
process()

phobos.ci.test_model module

class phobos.ci.test_model.TestModel(root, test, model_in_repo=None, submechanisms_in_repo=None, floating_base=False, floatingbase_submechanisms_in_repo=None, swing_my_robot=False, tempdir=None)

Bases: object

property exportdir
property floatingbase_submechanisms_file_path
property floatingbase_urdf

Convenience getter related to class TestModel

property modeldir
property modelname
property robotname
property submechanisms_file
property urdf

phobos.ci.compare_model module

class phobos.ci.compare_model.CompareModel(name, robotfile, submechanisms_file=None, directory=None)

Bases: Robot

phobos.ci.model_testing module

class phobos.ci.model_testing.ModelTest(new_model, compare_model=None)

Bases: object

Checks the general validity of a new model possibly against an old model.

info_swing_my_robot()
move_hyrodyn_model(new_joint_angles)
test_compare_amount_joints()
test_file_consistency()
test_hyrodyn_compare_com()
test_hyrodyn_compare_masses()
test_hyrodyn_compare_torques()
test_hyrodyn_load_in_hyrodyn()
test_hyrodyn_symmetry_check(left_right_end_effectors)
test_hyrodyn_symmetry_check_torques(left_right_end_effectors)
test_load_in_pybullet()
test_process_double_check()
test_symmetry_check_masses(left_right_end_effectors)
test_topological_self_consistency()