TheAlgorithms-C-Plus-Plus/.github/workflows/validate_new_filenames.yml

38 lines
1.5 KiB
YAML
Raw Normal View History

name: validate_new_filenames
on: [push, pull_request]
jobs:
validate_new_filenames:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY
- run: git diff origin/master --name-only > git_diff.txt
- name: Validate new filenames
shell: python
run: |
import os
import sys
print(sys.version_info) # legacy Python :-(
with open("git_diff.txt") as in_file:
cpp_files = sorted(line.strip() for line in in_file
if line.strip().lower().endswith(".cpp"))
upper_files = [file for file in cpp_files if file != file.lower()]
if upper_files:
print("{} files contain uppercase characters:".format(len(upper_files)))
print("\n".join(upper_files) + "\n")
space_files = [file for file in cpp_files if " " in file or "-" in file]
if space_files:
print("{} files contain space or dash characters:".format(len(space_files)))
print("\n".join(space_files) + "\n")
nodir_files = [file for file in cpp_files if os.sep not in file]
if nodir_files:
print("{} files are not in a directory:".format(len(nodir_files)))
print("\n".join(nodir_files) + "\n")
bad_files = len(upper_files + space_files + nodir_files)
if bad_files:
sys.exit(bad_files)