mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-02-12 06:56:59 +08:00
Create validate_new_filenames.yml
Just like #640 but: 1. Does a git diff and only checks newly added .cpp files 2. Embeds the Python code directly in the .yml file
This commit is contained in:
37
.github/workflows/validate_new_filenames.yml
vendored
Normal file
37
.github/workflows/validate_new_filenames.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user