da124e9d04
The default environment already includes everything we need to build all our configurations. Remove custom SwiftShader setup as lavapipe should now be good enough, but we need to install the latest one.
75 lines
2.9 KiB
YAML
75 lines
2.9 KiB
YAML
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: |
|
|
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 update
|
|
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
|