-
Notifications
You must be signed in to change notification settings - Fork 15
34 lines (26 loc) · 1022 Bytes
/
check-todos.yml
File metadata and controls
34 lines (26 loc) · 1022 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
name: "Check for TODOs"
on:
pull_request:
jobs:
check-todos:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Scan for TODO strings
run: |
echo "Scanning codebase for TODOs..."
git grep -nE "TODO" -- . ':(exclude).github/workflows/*' > todos_found.txt || true
if [ -s todos_found.txt ]; then
echo "❌ ERROR: Found TODOs in the following files:"
echo "-------------------------------------------"
while IFS=: read -r file line content; do
echo "::error file=$file,line=$line::TODO found at $file:$line - must be resolved before merge:%0A$content"
done < todos_found.txt
echo "-------------------------------------------"
echo "Please resolve these TODOs or track them in an issue before merging."
exit 1
else
echo "✅ No TODOs found. Codebase is clean!"
exit 0
fi