From: Sebastián Ramírez Date: Sun, 18 Oct 2020 19:45:10 +0000 (+0200) Subject: 🐛 Fix FastAPI People GitHub Action when there's nothing to change (#2196) X-Git-Tag: 0.61.2~80 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=479e87e467eafa944b0dcb78d3ed4bd7cae6cfda;p=thirdparty%2Ffastapi%2Ffastapi.git 🐛 Fix FastAPI People GitHub Action when there's nothing to change (#2196) --- diff --git a/.github/actions/people/app/main.py b/.github/actions/people/app/main.py index c670c38a8c..5ede3f117b 100644 --- a/.github/actions/people/app/main.py +++ b/.github/actions/people/app/main.py @@ -1,13 +1,14 @@ import logging import subprocess +import sys from collections import Counter from datetime import datetime, timedelta, timezone from pathlib import Path from typing import Container, Dict, List, Optional, Set import httpx -from github import Github import yaml +from github import Github from pydantic import BaseModel, BaseSettings, SecretStr github_graphql_url = "https://api.github.com/graphql" @@ -487,13 +488,17 @@ if __name__ == "__main__": "sponsors": sponsors, } people_path = Path("./docs/en/data/people.yml") - people_path.write_text( - yaml.dump(people, sort_keys=False, width=200, allow_unicode=True), - encoding="utf-8", - ) + people_old_content = people_path.read_text(encoding="utf-8") + new_content = yaml.dump(people, sort_keys=False, width=200, allow_unicode=True) + if people_old_content == new_content: + logging.info("The FastAPI People data hasn't changed, finishing.") + sys.exit(0) + people_path.write_text(new_content, encoding="utf-8") logging.info("Setting up GitHub Actions git user") subprocess.run(["git", "config", "user.name", "github-actions"], check=True) - subprocess.run(["git", "config", "user.email", "github-actions@github.com"], check=True) + subprocess.run( + ["git", "config", "user.email", "github-actions@github.com"], check=True + ) branch_name = "fastapi-people" logging.info(f"Creating a new branch {branch_name}") subprocess.run(["git", "checkout", "-b", branch_name], check=True)