in actions/secrets/__main__.py [0:0]
def handle_additional_env(user_data, env) -> [dict, list, list, list]:
"""
Merge the old env and return new metadata
Keyword arguments:
key -- the key where merge the old and new env
"""
old_env = env_to_dict(user_data, "userenv")
# Identify added keys (exist in env but not in old_env)
added_keys = [k for k in env if k not in old_env and env[k]]
# Identify changed keys (exist in both but have different values)
changed_keys = [k for k in env if k in old_env and old_env[k] != env[k] and env[k]]
# merge old env and new env
new_env = {
# processed then: remove keys that doesn't exists in second dict
**{k: v for k, v in old_env.items() if k not in env or env[k]},
# processed first: keep keys if have a value
**{k: v for k, v in env.items() if v}
}
# Identify removed keys (exist in old_env but not in new_env)
removed_keys = [k for k in old_env if k not in new_env]
user_data["userenv"] = dict_to_env(new_env)
return user_data, added_keys, removed_keys, changed_keys