Files
wxWidgets/.github/workflows/code_checks.yml
T
Scott Talbert f9ffb1bc82 Update Unicode mapping tables to current versions
The primary motivation for this is to resolve a licensing issue with
these files (the files have been relicensed with a Debian-approved
license), but there were a few minor fixes/additions since the previous
update.  The generation code/scripts required some modernization to get
it working on a current system, as well as needing to handle the format
of CP866.TXT, which is a bit different than the other files.

Update the whitespace check to exclude these files from it as we prefer
not to modify them to avoid any divergences with the upstream copies
(even trivial ones).

Closes #26700.
2026-07-21 16:01:15 +02:00

118 lines
3.1 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-latest
name: Check Spelling
steps:
- name: Checkout
uses: actions/checkout@v6
- 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-latest
name: Check Whitespace
steps:
- name: Checkout
uses: actions/checkout@v6
- 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' \
':!build/autogen.mk' \
':!build/bakefiles/make_dist.mk' \
':!build/bakefiles/scintilla.bkl' \
':!build/clone-minimal-vcxproj' \
':!build/cmake/modules/cotire.cmake' \
':!build/upmake' \
':!build/vcxproj-clone' \
':!docs/doxygen/doxygen-awesome-css/*' \
':!misc/languages/data/unicode/*.xml' \
':!misc/unictabl/mappings/*.TXT' \
':!samples/widgets/widgets.bkl' \
':!tests/test.bkl' \
':!**/*akefile*' \
':!**/*.pbxproj' \
':!**/Info*.plist*' \
':!**/*.sln' \
':!**/*.vcproj' \
':!**/*.xpm'
check-mixed-eol:
runs-on: ubuntu-latest
name: Check Mixed EOL
steps:
- name: Checkout
uses: actions/checkout@v6
- 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-latest
name: Check C++ Style
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Check for obsolete macros use
run: |
git fetch --depth=1 origin master
if git diff origin/master \
':**.h' ':**.cpp' \
| grep -E '^\+.*(wxOVERRIDE|wxNOEXCEPT|wxMEMBER_DELETE|__WXFUNCTION__|[^"_@A-Za-z0-9]NULL([- ,;()+*/%&=!?]|$))'; then
echo "::error ::Please use C++11 equivalents of the deprecated macros in the new code."
exit 1
fi
check-allheaders:
runs-on: ubuntu-latest
name: Check All Headers In allheaders.h
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Check that all headers are listed in tests/allheaders.h
run: |
./misc/scripts/check_allheaders.sh