diff options
Diffstat (limited to 'lib/mlibc/.github/workflows/detect-bad-ifs.yml')
-rw-r--r-- | lib/mlibc/.github/workflows/detect-bad-ifs.yml | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/mlibc/.github/workflows/detect-bad-ifs.yml b/lib/mlibc/.github/workflows/detect-bad-ifs.yml new file mode 100644 index 0000000..c738d29 --- /dev/null +++ b/lib/mlibc/.github/workflows/detect-bad-ifs.yml @@ -0,0 +1,17 @@ +name: Detect ifdef/defined (mis)use + +on: [push, pull_request] + +jobs: + find-misuse: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - run: | + printf '(^#ifn?def[[:space:]]+|defined[[:space:]]*[(][[:space:]]*)((%s)([^_A-Za-z0-9]|$))\0' \ + "$(printf '%s' "$(awk '/#mesondefine/ { print $2 }' mlibc-config.h.in)" | tr '\n' '|')" \ + | { ! xargs -0I '{}' grep --color=always -PR '{}' \ + || { echo 'found misuse'; exit 1; }; } + + +# vim: set sw=2 : |