mirror of
https://github.com/wxWidgets/wxWidgets.git
synced 2026-08-18 01:19:45 +08:00
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.
118 lines
3.1 KiB
YAML
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
|