We have a number of "in_container" scripts written in Bash, They are doing a number of houseekeeping stuff but since we already have Python 3.7+ inside the CI image, we could modularise them more and make them run from external and simplify entrypoint_ci (for example separate script for tests).
* skip_image_upgrade_check - to avoid checking if the image is up to date
    if command is passed as parameter, extra_args - to pass the command to execute in the shell
    :param shell_params: shell parameters to use
    :param project_name: Name of the project to use. This avoids name clashes with default 'breeze"
        project name used - this way you will be able to run the command in parallel to regular
        "breeze" shell opened in parallel
    :param command:
    """
    shell_params.backend = "sqlite"
    shell_params.executor = SEQUENTIAL_EXECUTOR
    shell_params.forward_ports = False
    shell_params.project_name = project_name
    shell_params.quiet = True
    shell_params.skip_environment_initialization = True
    shell_params.skip_image_upgrade_check = True
    if get_verbose():
        get_console().print(f"[warning]Backend forced to: sqlite and {SEQUENTIAL_EXECUTOR}[/]")
        get_console().print("[warning]Sqlite DB is cleaned[/]")
        get_console().print(f"[warning]Executor forced to {SEQUENTIAL_EXECUTOR}[/]")
        get_console().print("[warning]Disabled port forwarding[/]")
        get_console().print(f"[warning]Project name set to: {project_name}[/]")
        get_console().print("[warning]Forced quiet mode[/]")
        get_console().print("[warning]Forced skipping environment initialization[/]")
        get_console().print("[warning]Forced skipping upgrade check[/]")
    if command:
        shell_params.extra_args = (command,)
        if get_verbose():
            get_console().print(f"[info]Command to execute: '{command}'[/]")
    return enter_shell(shell_params)
def enter_shell(shell_params: ShellParams) -> RunCommandResult: