From 7bbf951c71b8c254ba924722536829c12c3c457c Mon Sep 17 00:00:00 2001 From: David Chalco <59750547+dachalco@users.noreply.github.com> Date: Fri, 29 Jan 2021 16:37:43 -0800 Subject: [PATCH] Color printing + New checker message and emphasis (#492) * Color printing + new message and emphasis * omit requirements.txt from checks --- .github/scripts/common/header_checker.py | 34 +++++++++++++++++++----- .github/scripts/common/requirements.txt | 14 ++++++++++ .github/scripts/core_checker.py | 3 ++- .github/workflows/core-checks.yml | 1 + 4 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 .github/scripts/common/requirements.txt diff --git a/.github/scripts/common/header_checker.py b/.github/scripts/common/header_checker.py index 607568321..688869406 100755 --- a/.github/scripts/common/header_checker.py +++ b/.github/scripts/common/header_checker.py @@ -4,6 +4,7 @@ import os, sys, re from argparse import ArgumentParser from difflib import unified_diff from json import load +from colorama import Fore, Style def dprint(msg): print('[DEBUG]: %s' % str(msg)) @@ -96,13 +97,32 @@ class HeaderChecker: return False def showHelp(self, path_config): - print('\n\n' - "Please fix all highlighted diffs or add exceptions to '%s' as necessary.\n" - "Include your changes to '%s' in your PR. Git PR checks source this file from your PR.\n" - "\n" - "The FreeRTOS Header Check ensures all files that contain FreeRTOS Headers are up to date\n" - "with the latest version, copyright, and licensing info." - "\n\n" % (path_config, path_config)) + print(Fore.YELLOW) + print( + "\n\n" + "*************************************************************************************************\n" + "* FreeRTOS Header Check %s(FAILED)%s *\n" + "*************************************************************************************************\n" + "* *\n" + "* %sWe do NOT require that all files contain the FreeRTOS File Header (copyright + license).%s *\n" + "* While some files in this change-set don't adhere with the FreeRTOS File Header, *\n" + "* they can be omitted from this check as needed. *\n" + "* *\n" + "* The Git PR check sources its scripts from your fork. *\n" + "* For FreeRTOS/FreeRTOS, ignored files are listed in '.github/scripts/core_checker.py' *\n" + "* For FreeRTOS/FreeRTOS-Kernel, ignored files are listed in '.github/scripts/kernel_checker.py' *\n" + "* *\n" + "* Please fix any offending files that should have the FreeRTOS header, *\n" + "* or add new files to the ignore list as needed to make the check pass. *\n" + "* *\n" + "* %sInclude the required updates to the '*_checker.py' script in your PR to make the check pass.%s *\n" + "*************************************************************************************************\n" + "\n\n" + % (Fore.RED, Fore.YELLOW, + Fore.RED, Fore.YELLOW, + Fore.RED, Fore.YELLOW) + ) + print(Style.RESET_ALL) @staticmethod def configArgParser(): diff --git a/.github/scripts/common/requirements.txt b/.github/scripts/common/requirements.txt new file mode 100644 index 000000000..1a08eae2c --- /dev/null +++ b/.github/scripts/common/requirements.txt @@ -0,0 +1,14 @@ +certifi==2020.12.5 +chardet==3.0.4 +colorama==0.4.4 +Deprecated==1.2.10 +gitdb==4.0.5 +GitPython==3.1.11 +idna==2.10 +PyGithub==1.54 +PyJWT==1.7.1 +PyYAML==5.3.1 +requests==2.24.0 +smmap==3.0.4 +urllib3==1.25.11 +wrapt==1.12.1 diff --git a/.github/scripts/core_checker.py b/.github/scripts/core_checker.py index 05d83ce0d..cb731c1f1 100755 --- a/.github/scripts/core_checker.py +++ b/.github/scripts/core_checker.py @@ -260,7 +260,8 @@ FREERTOS_IGNORED_PATTERNS = [ FREERTOS_IGNORED_FILES = [ 'fyi-another-way-to-ignore-file.txt', - 'mbedtls_config.h' + 'mbedtls_config.h', + 'requirements.txt' ] FREERTOS_HEADER = [ diff --git a/.github/workflows/core-checks.yml b/.github/workflows/core-checks.yml index 1eca34837..5d05ed76c 100644 --- a/.github/workflows/core-checks.yml +++ b/.github/workflows/core-checks.yml @@ -40,6 +40,7 @@ jobs: - name: Check File Headers run: | cd inspect + pip install -r .github/scripts/common/requirements.txt export PYTHONPATH=tools/.github/scripts:${PYTHONPATH} .github/scripts/core_checker.py --json ${HOME}/files_modified.json ${HOME}/files_added.json ${HOME}/files_renamed.json exit $?