Files
wxWidgets/.github/workflows/code_checks.yml
T
Vadim Zeitlin 858e2eddc0 Use ubuntu-latest for checks not relying on any specific version
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.
2025-02-12 19:04:51 +01:00

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