Skip to content

[tst] unittests

[tst] unittests #59

Workflow file for this run

name: Test and lint
on:
push:
pull_request:
branches: [ devel ]
schedule:
- cron: '0 2 * * 6'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
# Keep in sync with the Python Trove classifiers in pyproject.toml.
python_version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
name: Test with Python (${{ matrix.python_version }})
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python_version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python_version }}
allow-prereleases: true
- name: Install package
run: python -m pip install .[test]
- name: Run tests
run: python3 -m pytest
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v4.5.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
lint:
runs-on: ubuntu-latest
name: Lint
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install linters
run: python3 -m pip install pylint pylint-exit pycodestyle
- name: Lint with pylint
run: |
pylint --rcfile=".github/pylintrc" dkb_robo/ || pylint-exit $?
- name: Lint with pycodestyle
run: |
pycodestyle --max-line-length=380 dkb_robo/.