Skip to content

Sonnet V2.0.2

Sonnet V2.0.2 #261

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Stable branch
on:
push:
branches: [ main ]
pull_request:
branches: [ main, dev-unstable ]
jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [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 }}
cache: 'pip'
- name: Install base deps
run: |
python -m pip install -r requirements.buildtime.txt # dont pin linter versions
python -m pip install -r requirements.txt
- name: run unicode safety checker (ensures no malicious unicode codepoints)
run: |
python build_tools/unisafe.py
- name: run pyflakes before running expensive tests
run: |
pyflakes .
- name: use lite config
run: |
cp -f common/sonnet_cfg_lite.py common/sonnet_cfg.py
- name: check commands structure integrity
run: |
python build_tools/cmds_to_html.py > /dev/null
- name: check syntax integrity
run: |
python build_tools/testimport.py
- name: check manual tests
run: |
python build_tools/manualtest.py
- name: run mypy type checking
run: |
mypy . --ignore-missing-imports --strict --warn-unreachable
- name: yapf integrity check
run: |
yapf -drp .
- name: Install mariadb cause pylint actually wants to kill me
run: |
sudo apt update
sudo apt install libmariadb-dev-compat
python -m pip install "mariadb>=1.0.11,<1.1"
- name: run pyright type checking
run: |
pyright
- name: linting passes (pylint and ruff)
run: |
pylint **/*.py -E -j4
ruff .