Pipeline test lowercase [DO NOT MERGE] #5
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Check Lowercase Filenames | |
on: | |
pull_request: | |
paths: | |
- 'ct/*.sh' | |
- 'install/*.sh' | |
- 'json/*.json' | |
jobs: | |
check_lowercase: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Checkout the code | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Ensure the full history is fetched for accurate diffing | |
# Step 2: Fetch the base branch | |
- name: Fetch base branch | |
run: git fetch origin ${{ github.base_ref }} | |
# Step 3a: Validate filenames in ct directory | |
- name: "Validate filenames in ct directory" | |
run: | | |
changed_files=$(git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '^ct/.*\.sh$') | |
ERROR_COUNT=0 | |
for FILE in $changed_files; do | |
BASENAME=$(basename "$FILE") | |
if [[ "$BASENAME" =~ ^[a-z0-9._-]+$ ]]; then | |
echo "$FILE: Check for lowercase in filename passed." | |
else | |
echo "Error in $FILE. Change filename to lowercase." | |
ERROR_COUNT=$((ERROR_COUNT + 1)) | |
fi | |
done | |
if [ "$ERROR_COUNT" -ne 0 ]; then | |
exit 1 | |
else | |
echo "All filenames in ct directory passed the lowercase check." | |
fi | |
# Step 3b: Validate filenames in install directory | |
- name: "Validate filenames in install directory" | |
run: | | |
changed_files=$(git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '^install/.*\.sh$') | |
ERROR_COUNT=0 | |
for FILE in $changed_files; do | |
BASENAME=$(basename "$FILE") | |
if [[ "$BASENAME" =~ ^[a-z0-9._-]+$ ]]; then | |
echo "$FILE: Check for lowercase in filename passed." | |
else | |
echo "Error in $FILE. Change filename to lowercase." | |
ERROR_COUNT=$((ERROR_COUNT + 1)) | |
fi | |
done | |
if [ "$ERROR_COUNT" -ne 0 ]; then | |
exit 1 | |
else | |
echo "All filenames in install directory passed the lowercase check." | |
fi | |
# Step 3c: Validate filenames in json directory | |
- name: "Validate filenames in json directory." | |
run: | | |
changed_files=$(git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '^json/.*\.json$') | |
ERROR_COUNT=0 | |
for FILE in $changed_files; do | |
BASENAME=$(basename "$FILE") | |
if [[ "$BASENAME" =~ ^[a-z0-9._-]+$ ]]; then | |
echo "$FILE: Check for lowercase in filename passed." | |
else | |
echo "Error in $FILE. Change filename to lowercase." | |
ERROR_COUNT=$((ERROR_COUNT + 1)) | |
fi | |
done | |
if [ "$ERROR_COUNT" -ne 0 ]; then | |
exit 1 | |
else | |
echo "All filenames in json directory passed the lowercase check." | |
fi |