cppcheck/.github/workflows/scriptcheck.yml

85 lines
2.7 KiB
YAML

# Syntax reference https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
# Environment reference https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
name: scriptcheck
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install missing software on ubuntu (Python 2)
if: matrix.python-version == '2.7'
run: |
python -m pip install pip --upgrade
python -m pip install pytest
- name: Install missing software on ubuntu (Python 3)
if: matrix.python-version != '2.7'
run: |
sudo apt-get install shellcheck libxml2-utils
python -m pip install pip --upgrade
python -m pip install natsort
python -m pip install pexpect
python -m pip install pylint
python -m pip install unittest2
python -m pip install pytest
python -m pip install pygments
python -m pip install requests
- name: run Shellcheck
if: matrix.python-version == '3.8'
run: |
find . -name "*.sh" | xargs shellcheck --exclude SC2002,SC2013,SC2034,SC2035,SC2043,SC2046,SC2086,SC2089,SC2090,SC2129,SC2211,SC2231
- name: run pylint
if: matrix.python-version == '3.8'
run: |
pylint --rcfile=pylintrc_travis addons/*.py
pylint --rcfile=pylintrc_travis htmlreport/cppcheck-htmlreport
pylint --rcfile=pylintrc_travis htmlreport/*.py
pylint --rcfile=pylintrc_travis tools/*.py
- name: check .json files
if: matrix.python-version == '3.8'
run: |
find . -name '*.json' | xargs -n 1 python -m json.tool > /dev/null
- name: Validate
if: matrix.python-version == '3.8'
run: |
make -j$(nproc) validateCFG validatePlatforms validateRules
- name: check python syntax
if: matrix.python-version != '2.7'
run: |
python -m py_compile ./tools/donate-cpu.py
python -m py_compile ./tools/donate-cpu-server.py
- name: compile addons
run: |
python -m compileall ./addons
- name: test addons
run: |
make -j$(nproc) -s
PYTHONPATH=./addons python -m pytest addons/test/test-*.py
- name: dmake
if: matrix.python-version == '3.8'
run: |
make -j$(nproc) run-dmake
git diff --exit-code