📊 Static Checks #25
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 📊 Static Checks | |
on: [push, pull_request] | |
concurrency: | |
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-static | |
cancel-in-progress: true | |
jobs: | |
static-checks: | |
name: Static Checks (clang-format, black format, file format, documentation checks) | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list | |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" | |
sudo apt-get install -qq dos2unix clang-format-15 libxml2-utils python3-pip moreutils | |
sudo update-alternatives --remove-all clang-format || true | |
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-15 100 | |
sudo pip3 install black==22.3.0 pygments pytest==7.1.2 mypy==0.971 | |
- name: File formatting checks (file_format.sh) | |
run: | | |
bash ./misc/scripts/file_format.sh | |
- name: Header guards formatting checks (header_guards.sh) | |
run: | | |
bash ./misc/scripts/header_guards.sh | |
- name: Python style checks via black (black_format.sh) | |
run: | | |
bash ./misc/scripts/black_format.sh | |
- name: Python scripts static analysis (mypy_check.sh) | |
run: | | |
bash ./misc/scripts/mypy_check.sh | |
- name: Python builders checks via pytest (pytest_builders.sh) | |
run: | | |
bash ./misc/scripts/pytest_builders.sh | |
- name: JavaScript style and documentation checks via ESLint and JSDoc | |
run: | | |
cd platform/web | |
npm ci | |
npm run lint | |
npm run docs -- -d dry-run | |
- name: Class reference schema checks | |
run: | | |
xmllint --noout --schema doc/class.xsd doc/classes/*.xml modules/*/doc_classes/*.xml | |
- name: Documentation checks | |
run: | | |
doc/tools/make_rst.py --dry-run --color doc/classes modules | |
- name: Style checks via clang-format (clang_format.sh) | |
run: | | |
bash ./misc/scripts/clang_format.sh | |
- name: Style checks via dotnet format (dotnet_format.sh) | |
run: | | |
bash ./misc/scripts/dotnet_format.sh | |
- name: Spell checks via codespell | |
uses: codespell-project/actions-codespell@v1 | |
with: | |
skip: ./.*,./**/.*,./bin,./thirdparty,*.desktop,*.gen.*,*.po,*.pot,*.rc,./AUTHORS.md,./COPYRIGHT.txt,./DONORS.md,./core/input/gamecontrollerdb.txt,./core/string/locales.h,./editor/project_converter_3_to_4.cpp,./misc/scripts/codespell.sh,./platform/android/java/lib/src/com,./platform/web/node_modules,./platform/web/package-lock.json | |
check_hidden: false | |
ignore_words_list: curvelinear,doubleclick,expct,findn,gird,hel,inout,lod,nd,numer,ot,te | |
only_warn: true |