mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-22 09:36:48 +03:00
a5166bf591
* Add Python 3.12 Support (#752) * Ignore .vscode * Python 3.12 Support * Change base python to 3.12 and pin pydantic to V1 * all tests passed * ci: change default python to 3.12 * remove legacy python versions * annotate pydantic models for tests * Update publishing pipeline to use Python 3.12 * Test environment updates * Update Cython to the latest prior 3.0 version and remove tracing from CI/CD * Give up using editable tox installation in the coverage job * Add mypy test fixes * Remove tracing from the coverage job * Fix typing test * Remove PyPy 2.7 * Fix typing test * Fix the typing issue with pydantic * Remove pypy 3.9 * Fix the typing issue with mypy * Update pydantic version to the latest from 1.x * Update scipy deprecation warning filter * Fix the tox job running coveralls * Update changelog --------- Co-authored-by: Anton Petrov <anton.a.petrov@gmail.com>
73 lines
1.8 KiB
YAML
73 lines
1.8 KiB
YAML
name: Tests and linters
|
|
|
|
on: [push, pull_request, workflow_dispatch]
|
|
|
|
jobs:
|
|
|
|
tests-on-legacy-versions:
|
|
name: Run tests on legacy versions
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
python-version: [3.7]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- run: pip install tox
|
|
- run: tox
|
|
env:
|
|
TOXENV: ${{ matrix.python-version }}
|
|
|
|
test-on-different-versions:
|
|
name: Run tests
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python-version: [3.8, 3.9, "3.10", 3.11, 3.12]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- run: pip install tox
|
|
- run: tox
|
|
env:
|
|
TOXENV: ${{ matrix.python-version }}
|
|
|
|
test-coverage:
|
|
name: Run tests with coverage
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
# Cython's version <3 issue with tracing: "error: no member named 'use_tracing' in 'struct _PyCFrame'"
|
|
# DEPENDENCY_INJECTOR_DEBUG_MODE: 1
|
|
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.12
|
|
- run: pip install tox cython==0.29.37
|
|
- run: make cythonize
|
|
- run: tox
|
|
env:
|
|
TOXENV: coveralls
|
|
|
|
linters:
|
|
name: Run linters
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
toxenv: [flake8, pydocstyle, mypy, pylint]
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: 3.12
|
|
- run: pip install tox
|
|
- run: tox
|
|
env:
|
|
TOXENV: ${{ matrix.toxenv }}
|