Merge branch 'develop' into develop #113
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Code quality - Pydanticv2 | |
# PROCESS | |
# | |
# 1. Install all dependencies and spin off containers for all supported Python versions | |
# 2. Run code formatters and linters (various checks) for code standard | |
# 3. Run static typing checker for potential bugs | |
# 4. Run entire test suite for regressions except end-to-end (unit, functional, performance) | |
# 5. Run static analysis (in addition to CodeQL) for common insecure code practices | |
# 6. Run complexity baseline to avoid error-prone bugs and keep maintenance lower | |
# 7. Collect and report on test coverage | |
# USAGE | |
# | |
# Always triggered on new PRs, PR changes and PR merge. | |
on: | |
pull_request: | |
paths: | |
- "aws_lambda_powertools/**" | |
- "tests/**" | |
- "pyproject.toml" | |
- "poetry.lock" | |
- "mypy.ini" | |
branches: | |
- develop | |
push: | |
paths: | |
- "aws_lambda_powertools/**" | |
- "tests/**" | |
- "pyproject.toml" | |
- "poetry.lock" | |
- "mypy.ini" | |
branches: | |
- develop | |
permissions: | |
contents: read | |
jobs: | |
quality_check: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 4 | |
matrix: | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] | |
env: | |
PYTHON: "${{ matrix.python-version }}" | |
permissions: | |
contents: read # checkout code only | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Install poetry | |
run: pipx install poetry | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "poetry" | |
- name: Replacing Pydantic v1 with v2 > 2.0.3 | |
run: | | |
rm -rf poetry.lock | |
poetry add "pydantic=^2.0.3" | |
- name: Install dependencies | |
run: make dev | |
- name: Test with pytest | |
run: make test-pydanticv2 |