1
0
mirror of https://github.com/konpa/devicon.git synced 2025-08-16 19:44:05 +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
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.

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())
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.

View File

@@ -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

View File

@@ -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')