pub(crate) fn get_actual_task_name(config: &Config, name: &str) -> Result<String, CargoMakeError> {
    let mut seen = Vec::new();

    get_task_name_recursive(config, name, &mut seen)
}
Returns the actual task name to invoke as tasks may have aliases.

# Panics
if there is a cycle in the alias chain.
src/lib/execution_plan.rs