def parse_modified_docker_files_info()

in src/utils.py [0:0]


def parse_modified_docker_files_info(files, framework, pattern=""):
    """
    Parse all the files in PR to find docker file related changes for any framework
    triggers an image build matching the image_type(training/testing), device_type(cpu_gpu)
    and python version(py2 and py3) of the changed docker files

    Args:
        files: str
        framework: str
        pattern: str
    """
    rule = re.findall(rf"{pattern}", files)
    for dockerfile in rule:
        dockerfile = dockerfile.split("/")
        framework_change = dockerfile[0]

        # If the modified dockerfile belongs to a different
        # framework, do nothing
        if framework_change != framework:
            continue
        image_type = dockerfile[1]
        py_version = dockerfile[4]
        device_type = dockerfile[-1].split(".")[-1]
        LOGGER.info(f"Building dockerfile: {dockerfile}")
        # Use class static variables to avoid passing, returning the varibles from all functions
        JobParameters.device_types.append(device_type)
        JobParameters.image_types.append(image_type)
        JobParameters.py_versions.append(py_version)
        # create a map for the image_build_string and run_test_types on it
        # this map will be used to update the DLC_IMAGES for pr test jobs
        run_tests_key = f"{image_type}_{device_type}_{py_version}"
        update_image_run_test_types(run_tests_key, constants.ALL)