diff --git a/.github/workflows/stale.yml b/.github/drafts/stale.yml similarity index 100% rename from .github/workflows/stale.yml rename to .github/drafts/stale.yml diff --git a/.github/scripts/build_assets/filehandler.py b/.github/scripts/build_assets/filehandler.py index a7343350..012706a2 100644 --- a/.github/scripts/build_assets/filehandler.py +++ b/.github/scripts/build_assets/filehandler.py @@ -6,7 +6,7 @@ import os import re -def find_new_icons(devicon_json_path: str, icomoon_json_path: str): +def find_new_icons_in_devicon_json(devicon_json_path: str, icomoon_json_path: str): """ Find the newly added icons by finding the difference between the devicon.json and the icomoon.json. diff --git a/.github/scripts/build_assets/util.py b/.github/scripts/build_assets/util.py index 415fba6e..9d1a7701 100644 --- a/.github/scripts/build_assets/util.py +++ b/.github/scripts/build_assets/util.py @@ -46,7 +46,7 @@ def set_env_var(key: str, value: str, delimiter: str='~'): raise Exception("This function doesn't support this platform: " + platform.system()) -def find_object_added_in_this_pr(icons: List[dict], pr_title: str): +def find_object_added_in_pr(icons: List[dict], pr_title: str): """ Find the icon name from the PR title. :param icons, a list of the font objects found in the devicon.json. diff --git a/.github/scripts/icomoon_build.py b/.github/scripts/icomoon_build.py index 23e49b0b..c4484fb5 100644 --- a/.github/scripts/icomoon_build.py +++ b/.github/scripts/icomoon_build.py @@ -20,7 +20,7 @@ def main(): runner = None try: args = arg_getters.get_selenium_runner_args() - new_icons = get_icons_for_building(args.devicon_json_path, args.token) + new_icons = get_icons_for_building(args.icomoon_json_path, args.devicon_json_path, args.token) if len(new_icons) == 0: sys.exit("No files need to be uploaded. Ending script...") @@ -54,21 +54,31 @@ def main(): runner.close() -def get_icons_for_building(devicon_json_path: str, token: str): +def get_icons_for_building(icomoon_json_path: str, devicon_json_path: str, token: str): """ Get the icons for building. + :param icomoon_json_path - the path to the `icomoon.json`. :param devicon_json_path - the path to the `devicon.json`. :param token - the token to access the GitHub API. """ - all_icons = filehandler.get_json_file_content(devicon_json_path) + devicon_json = filehandler.get_json_file_content(devicon_json_path) pull_reqs = api_handler.get_merged_pull_reqs_since_last_release(token) new_icons = [] for pull_req in pull_reqs: if api_handler.is_feature_icon(pull_req): - filtered_icon = util.find_object_added_in_this_pr(all_icons, pull_req["title"]) + filtered_icon = util.find_object_added_in_pr(devicon_json, pull_req["title"]) if filtered_icon not in new_icons: new_icons.append(filtered_icon) + + # get any icons that might not have been found by the API + new_icons_from_devicon_json = filehandler.find_new_icons_in_devicon_json( + devicon_json_path, icomoon_json_path) + + for icon in new_icons_from_devicon_json: + if icon not in new_icons: + new_icons.append(icon) + return new_icons diff --git a/.github/scripts/icomoon_peek.py b/.github/scripts/icomoon_peek.py index 454f53ab..1d132c21 100644 --- a/.github/scripts/icomoon_peek.py +++ b/.github/scripts/icomoon_peek.py @@ -17,7 +17,7 @@ def main(): new_icons = filehandler.get_json_file_content(args.devicon_json_path) # get only the icon object that has the name matching the pr title - filtered_icon = util.find_object_added_in_this_pr(new_icons, args.pr_title) + filtered_icon = util.find_object_added_in_pr(new_icons, args.pr_title) check_devicon_object(filtered_icon) print("Icon being checked:", filtered_icon, sep = "\n", end='\n\n')