mirror of
https://github.com/wxWidgets/wxWidgets.git
synced 2026-08-18 01:19:45 +08:00
For the checks running simple shell scripts, any Ubuntu version should work, so switch them to use the latest one to avoid having to update them every time when an existing version is dropped by GitHub Actions.
116 lines
3.0 KiB
YAML
116 lines
3.0 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@v4
|
|
|
|
- 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@v4
|
|
|
|
- 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/upmake' \
|
|
':!build/vcxproj-clone' \
|
|
':!docs/doxygen/doxygen-awesome-css/*' \
|
|
':!misc/languages/data/unicode/*.xml' \
|
|
':!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@v4
|
|
|
|
- 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@v4
|
|
|
|
- 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@v4
|
|
|
|
- name: Check that all headers are listed in tests/allheaders.h
|
|
run: |
|
|
./misc/scripts/check_allheaders.sh
|