1
0
mirror of https://github.com/konpa/devicon.git synced 2025-08-17 20:01:38 +02:00

Merge pull request #686 from devicons/thomas/buildBotFix

Build bot now check both the PRs and the `devicon.json` for icons to be build
This commit is contained in:
Thomas Bui
2021-06-20 21:42:37 -07:00
committed by GitHub
5 changed files with 17 additions and 7 deletions

View File

@@ -6,7 +6,7 @@ import os
import re 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 Find the newly added icons by finding the difference between
the devicon.json and the icomoon.json. the devicon.json and the icomoon.json.

View File

@@ -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()) 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. Find the icon name from the PR title.
:param icons, a list of the font objects found in the devicon.json. :param icons, a list of the font objects found in the devicon.json.

View File

@@ -20,7 +20,7 @@ def main():
runner = None runner = None
try: try:
args = arg_getters.get_selenium_runner_args() 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: if len(new_icons) == 0:
sys.exit("No files need to be uploaded. Ending script...") sys.exit("No files need to be uploaded. Ending script...")
@@ -54,21 +54,31 @@ def main():
runner.close() 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. 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 devicon_json_path - the path to the `devicon.json`.
:param token - the token to access the GitHub API. :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) pull_reqs = api_handler.get_merged_pull_reqs_since_last_release(token)
new_icons = [] new_icons = []
for pull_req in pull_reqs: for pull_req in pull_reqs:
if api_handler.is_feature_icon(pull_req): 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: if filtered_icon not in new_icons:
new_icons.append(filtered_icon) 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 return new_icons

View File

@@ -17,7 +17,7 @@ def main():
new_icons = filehandler.get_json_file_content(args.devicon_json_path) new_icons = filehandler.get_json_file_content(args.devicon_json_path)
# get only the icon object that has the name matching the pr title # 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) check_devicon_object(filtered_icon)
print("Icon being checked:", filtered_icon, sep = "\n", end='\n\n') print("Icon being checked:", filtered_icon, sep = "\n", end='\n\n')