wxwidgets/.github/workflows/code_checks.yml
Vadim Zeitlin a0ea27cccf Restrict check for obsolete macros to C++ code
Only check for the use of NULL in C++ code, not C, for example, where
it still can, and should, be used.

Also allow using "NULL" as part of a larger macro name (where it would
be followed by "_") or at the beginning/end of a string.
2023-04-17 18:33:16 +02:00

94 lines
2.3 KiB
YAML

# This workflow does some quick checks.
name: Code Checks
on:
push:
branches:
- master
pull_request:
branches:
- master
permissions:
contents: read
jobs:
check-unix:
runs-on: ubuntu-20.04
name: Check Spelling
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install codespell
run: |
pip3 install --no-warn-script-location codespell==1.17.1
- name: Run codespell
run: |
CODESPELL=$HOME/.local/bin/codespell ./misc/scripts/spellcheck
check-whitespace:
runs-on: ubuntu-20.04
name: Check Whitespace
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check for trailing whitespace and TABs
run: |
git fetch --depth=1 origin master
git -c core.whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol,tab-in-indent \
diff --check origin/master \
':!.gitmodules' \
':!Makefile.in' \
':!config.guess' \
':!config.sub' \
':!configure' \
':!descrip.mms' \
':!install-sh' \
':!docs/doxygen/doxygen-awesome-css/*' \
':!**/*akefile*' \
':!**/*.pbxproj' \
':!**/Info*.plist*' \
':!**/*.sln' \
':!**/*.vcproj' \
':!**/*.xpm'
check-mixed-eol:
runs-on: ubuntu-20.04
name: Check Mixed EOL
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install dos2unix
run: |
sudo apt-get install -y dos2unix
- name: Check for mixed EOL
run: |
./misc/scripts/check_mixed_eol.sh
check-cxx-style:
runs-on: ubuntu-20.04
name: Check C++ Style
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Check for obsolete macros use
run: |
git fetch --depth=1 origin master
if git diff origin/master \
':**.h' ':**.cpp' \
| grep -E '^\+.*(wxOVERRIDE|wxNOEXCEPT|[^"_@]NULL[^"_])'; then
echo "::error ::Please use C++11 equivalents of the deprecated macros in the new code."
exit 1
fi