def get_time_of_last_run(repo: Repository) -> datetime: try: workflow = repo.get_workflow(WORKFLOW_FILE_NAME) last_run = next(iter(workflow.get_runs(branch='master', status='success'))) except (UnknownObjectException, StopIteration): return datetime(2021, 1, 1) else: return last_run.created_at - timedelta(minutes=5)
def run_shell_explorer_workflow(repo: Repository, new_releases: dict[str, list[int]]): workflow = repo.get_workflow(SHELL_EXPLORER_WORKFLOW_FILE_NAME) data = json.dumps(new_releases) workflow.create_dispatch("master", {"new_releases": data})