You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
name: Non-English Comments Check
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
non-english-comments-check:
|
|
runs-on: ubuntu-latest
|
|
|
|
env:
|
|
# need ignore Dirs
|
|
EXCLUDE_DIRS: ".git docs tests scripts assets node_modules build"
|
|
# need ignore Files
|
|
EXCLUDE_FILES: "*.md *.txt *.html *.css *.min.js *.mdx"
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Search for Non-English comments
|
|
run: |
|
|
set -e
|
|
# Define the regex pattern to match Chinese characters
|
|
pattern='[\p{Han}]'
|
|
|
|
# Process the directories to be excluded
|
|
exclude_dirs=""
|
|
for dir in $EXCLUDE_DIRS; do
|
|
exclude_dirs="$exclude_dirs --exclude-dir=$dir"
|
|
done
|
|
|
|
# Process the file types to be excluded
|
|
exclude_files=""
|
|
for file in $EXCLUDE_FILES; do
|
|
exclude_files="$exclude_files --exclude=$file"
|
|
done
|
|
|
|
# Use grep to find all comments containing Non-English characters and save to file
|
|
grep -Pnr "$pattern" . $exclude_dirs $exclude_files > non_english_comments.txt || true
|
|
|
|
- name: Output non-English comments are found
|
|
run: |
|
|
if [ -s non_english_comments.txt ]; then
|
|
echo "Non-English comments found in the following locations:"
|
|
cat non_english_comments.txt
|
|
exit 1 # terminate the workflow
|
|
else
|
|
echo "No Non_English comments found."
|
|
fi
|