From 59af636961e3a7e3e659be36da909c74d67b9934 Mon Sep 17 00:00:00 2001 From: Gregory Gauthier Date: Fri, 6 Feb 2026 16:09:17 +0000 Subject: [PATCH] add filtering to the workflows --- .gitea/workflows/mvs_delete.yaml | 3 ++- .gitea/workflows/mvs_submit.yaml | 13 +++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/mvs_delete.yaml b/.gitea/workflows/mvs_delete.yaml index 523f512..945e78f 100644 --- a/.gitea/workflows/mvs_delete.yaml +++ b/.gitea/workflows/mvs_delete.yaml @@ -26,7 +26,7 @@ jobs: nc -h echo "=== Debug: Setup complete ===" - - name: Find deleted source files + - name: Find deleted source files (deleted only) id: deleted run: | echo "=== Debug: Starting deletion detection ===" @@ -35,6 +35,7 @@ jobs: # Check if we have a parent commit if git rev-parse --verify HEAD~1 >/dev/null 2>&1; then echo "Parent commit exists; checking for deletions." + # Use --diff-filter=D to only get Deleted files (exclude Added/Modified) DELETED_FILES=$(git diff --name-only --diff-filter=D HEAD~1 2>/dev/null | grep -E '\.(c|bas)$') echo "Deleted files from last commit: '${DELETED_FILES}'" else diff --git a/.gitea/workflows/mvs_submit.yaml b/.gitea/workflows/mvs_submit.yaml index 640f4f4..cecf3bb 100644 --- a/.gitea/workflows/mvs_submit.yaml +++ b/.gitea/workflows/mvs_submit.yaml @@ -31,7 +31,7 @@ jobs: nc -h echo "=== Debug: Setup complete ===" - - name: Find changed source files + - name: Find changed source files (added/modified only) id: files run: | echo "=== Debug: Starting file detection ===" @@ -39,9 +39,10 @@ jobs: echo "Files in repo: $(ls -la)" echo "=== Debug: Checking for parent commit ===" if git rev-parse --verify HEAD~1 >/dev/null 2>&1; then - echo "Parent commit exists; running git diff." - CHANGED_FILES=$(git diff --name-only HEAD~1 2>/dev/null | grep -E '\.(c|bas)$' | head -1) - echo "Changed files from last commit: '${CHANGED_FILES}'" + echo "Parent commit exists; running git diff for added/modified files only." + # Use --diff-filter=AM to only get Added and Modified files (exclude Deleted) + CHANGED_FILES=$(git diff --name-only --diff-filter=AM HEAD~1 2>/dev/null | grep -E '\.(c|bas)$' | head -1) + echo "Added/Modified files from last commit: '${CHANGED_FILES}'" else echo "No parent commit; skipping diff." CHANGED_FILES="" @@ -50,7 +51,7 @@ jobs: # Fallback to all .c/.bas files if no changes or no previous commit if [ -z "$CHANGED_FILES" ]; then - echo "=== Debug: No changes found; running fallback find ===" + echo "=== Debug: No added/modified files found; running fallback find ===" # Find newest .c/.bas by modification time (sort -nr on %T@ timestamp) CHANGED_FILES=$(find . -type f \( -name "*.c" -o -name "*.bas" \) -printf '%T@ %p\n' 2>/dev/null | sort -nr | cut -d' ' -f2- | head -1) echo "Fallback files (newest first): '${CHANGED_FILES}'" @@ -58,7 +59,7 @@ jobs: fi if [ -z "$CHANGED_FILES" ]; then - echo "No C/BAS files found; skipping workflow." + echo "No added/modified C/BAS files found; skipping workflow." exit 0 # Graceful skip, no failure fi