from typing import Dict
from typing import List


def should_include_stage(stage: Dict[str, str], include_tags: List[str]) -> bool:
    """
    Checks if this stage should be included in the run. If tags is empty, then
    all stages should be run, included this one.
    """
    stage_tags = stage.get("tags", [])
    if len(include_tags) == 0:
        # We don't have "include_tags" so all tasks should run
        return True

    return not set(stage_tags).isdisjoint(include_tags)