Skip to content

Commit bf085bb

Browse files
authored
ci: make link integrity check blocking (#2045)
Now that all 40 broken links are fixed, promote the link checker from warnings to errors. Broken internal links will fail CI on PRs. Also fix node_modules exclusion to catch frontend/node_modules/ (was only excluding top-level node_modules/). Co-authored-by: Ben Coombs <bjcoombs@users.noreply.github.com>
1 parent bfc5281 commit bf085bb

1 file changed

Lines changed: 3 additions & 4 deletions

File tree

.github/workflows/markdown.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,12 @@ jobs:
119119
if [ -z "$resolved" ] || [ ! -f "$resolved" ]; then
120120
safe_file="$(escape_annotation "$file")"
121121
safe_link="$(escape_annotation "$link")"
122-
echo "::warning file=${safe_file}::Broken link: ${safe_link} (target not found)"
122+
echo "::error file=${safe_file}::Broken link: ${safe_link} (target not found)"
123123
echo "$file -> $link" >> /tmp/broken_links
124124
fi
125125
done
126126
done < <(find . -name '*.md' \
127-
-not -path './node_modules/*' \
127+
-not -path '*/node_modules/*' \
128128
-not -path './.git/*' \
129129
-not -path './.taskmaster/*' \
130130
-not -path './.claude/*')
@@ -134,8 +134,7 @@ jobs:
134134
echo ""
135135
echo "Found $count broken link(s):"
136136
cat /tmp/broken_links
137-
echo ""
138-
echo "These are warnings for now. Fix broken links to keep docs navigable."
137+
exit 1
139138
else
140139
echo "All internal markdown links resolve."
141140
fi

0 commit comments

Comments
 (0)