Skip to content

Commit 71c16ba

Browse files
Refine version bump workflow to improve detection of code changes in lib/ directory, ensuring only meaningful modifications trigger version checks.
1 parent 982de2d commit 71c16ba

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

.github/workflows/check-version-bump.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Catches when developers forget to add a version bump for their changes.
2-
# Code changes (e.g. lib/) require package.json + CHANGELOG.md to be updated; test-only changes skip.
2+
# Code changes (e.g. lib/) require package.json + CHANGELOG.md; test-only or comment-only in lib/ skip.
33
name: Check Version Bump
44

55
on:
@@ -20,16 +20,28 @@ jobs:
2020
run: |
2121
if git rev-parse HEAD^2 >/dev/null 2>&1; then
2222
FILES=$(git diff --name-only HEAD^1 HEAD^2)
23+
DIFF_BASE=HEAD^1
24+
DIFF_HEAD=HEAD^2
2325
else
2426
FILES=$(git diff --name-only HEAD~1 HEAD)
27+
DIFF_BASE=HEAD~1
28+
DIFF_HEAD=HEAD
2529
fi
2630
VERSION_FILES_CHANGED=false
2731
echo "$FILES" | grep -qx 'package.json' && VERSION_FILES_CHANGED=true
2832
echo "$FILES" | grep -qx 'CHANGELOG.md' && VERSION_FILES_CHANGED=true
2933
echo "version_files_changed=$VERSION_FILES_CHANGED" >> $GITHUB_OUTPUT
3034
CODE_CHANGED=false
31-
echo "$FILES" | grep -qE '^lib/|^webpack/|^dist/' && CODE_CHANGED=true
3235
echo "$FILES" | grep -qx 'package.json' && CODE_CHANGED=true
36+
echo "$FILES" | grep -qE '^webpack/|^dist/' && CODE_CHANGED=true
37+
if echo "$FILES" | grep -q '^lib/'; then
38+
LIB_DIFF=$(git diff "$DIFF_BASE" "$DIFF_HEAD" -- lib/ | grep -E '^\+|^\-' | sed 's/^[\+\-]//' || true)
39+
if [ -n "$LIB_DIFF" ]; then
40+
if echo "$LIB_DIFF" | grep -v -E '^[[:space:]]*$' | grep -v -E '^[[:space:]]*\/\/' | grep -v -E '^[[:space:]]*\*[[:space:]]*$' | grep -v -E '^[[:space:]]*/\*' | grep -v -E '^[[:space:]]*\*/' | grep -q .; then
41+
CODE_CHANGED=true
42+
fi
43+
fi
44+
fi
3345
echo "code_changed=$CODE_CHANGED" >> $GITHUB_OUTPUT
3446
3547
- name: Skip when only test/docs/config changed

0 commit comments

Comments
 (0)