forked from getml/reflect-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
27 lines (25 loc) · 856 Bytes
/
code-checks.yaml
File metadata and controls
27 lines (25 loc) · 856 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
name: code-checks
on: [ push, pull_request ]
jobs:
check-includes-are-relative:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- shell : bash
run: |
cd include
errors=0
for file in $(find . -name '*.hpp'); do
while read -r line; do
if [[ "$line" = "" ]]; then continue; fi
what=$(printf "$line" | sed -n 's/^.*"\(.*\)"\s*$/\1/p')
pushd $(dirname $(readlink -f "$file" )) > /dev/null
if ! [[ -e "$what" ]]; then
where=$(printf "$line" | grep -oP '^.*:[0-9]+')
echo Non-relative include of $what @ $where
((errors++))
fi
popd > /dev/null
done <<< $(grep -HnoP '#include ".*"' $file)
done
exit $errors