Skip to content

Commit d9be9bd

Browse files
authored
Merge branch 'main' into dependabot/github_actions/actions/upload-artifact-7
2 parents 47dcba9 + d33a7ad commit d9be9bd

File tree

1 file changed

+0
-84
lines changed

1 file changed

+0
-84
lines changed
Lines changed: 0 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1 @@
1-
name: Validate Artifacts
21

3-
on:
4-
push:
5-
branches: [main]
6-
paths:
7-
- '**.md'
8-
- '.github/**'
9-
- '.gitignore'
10-
pull_request:
11-
branches: [main]
12-
workflow_dispatch:
13-
14-
jobs:
15-
validate:
16-
runs-on: ubuntu-latest
17-
steps:
18-
- uses: actions/checkout@v6
19-
20-
- name: Check required artifacts exist
21-
run: |
22-
required_files=(
23-
"PROJECT-PLAN.md"
24-
"GANTT-CHART.md"
25-
"_plan/JIRA-STRUCTURE.md"
26-
"RACI-CHART.md"
27-
"RISK-REGISTER.md"
28-
"SEVERITY-CLASSIFICATION.md"
29-
"_research/BEST-PRACTICES.md"
30-
"SUCCESS-METRICS.md"
31-
"RUNBOOK-TEMPLATE.md"
32-
"README.md"
33-
"CHANGELOG.md"
34-
)
35-
missing=0
36-
for f in "${required_files[@]}"; do
37-
if [ ! -f "$f" ]; then
38-
echo "MISSING: $f"
39-
missing=$((missing + 1))
40-
else
41-
echo "OK: $f"
42-
fi
43-
done
44-
if [ $missing -gt 0 ]; then
45-
echo ""
46-
echo "$missing required artifact(s) missing."
47-
echo "Run @project-architect to generate all artifacts."
48-
exit 1
49-
fi
50-
51-
- name: Check for placeholder content
52-
run: |
53-
placeholder_count=0
54-
for f in *.md; do
55-
if grep -qE '\[TODO\]|\[TBD\]|\[PLACEHOLDER\]|\[INSERT\]' "$f" 2>/dev/null; then
56-
echo "PLACEHOLDER CONTENT in $f:"
57-
grep -nE '\[TODO\]|\[TBD\]|\[PLACEHOLDER\]|\[INSERT\]' "$f"
58-
placeholder_count=$((placeholder_count + 1))
59-
fi
60-
done
61-
if [ $placeholder_count -gt 0 ]; then
62-
echo ""
63-
echo "Found placeholder content in $placeholder_count file(s)."
64-
exit 1
65-
fi
66-
echo "No placeholder content found."
67-
68-
- name: Validate internal links
69-
run: |
70-
broken=0
71-
for f in *.md; do
72-
while IFS= read -r link; do
73-
target=$(echo "$link" | sed 's/.*](//' | sed 's/).*//')
74-
if [[ "$target" != http* ]] && [[ "$target" != "#"* ]] && [ ! -e "$target" ]; then
75-
echo "BROKEN LINK in $f: $target"
76-
broken=$((broken + 1))
77-
fi
78-
done < <(grep -oE '\[.*?\]\([^)]+\)' "$f" 2>/dev/null || true)
79-
done
80-
if [ $broken -gt 0 ]; then
81-
echo ""
82-
echo "$broken broken internal link(s) found."
83-
exit 1
84-
fi
85-
echo "All internal links valid."

0 commit comments

Comments
 (0)