add error handler for starlette middleware to enable error logs in Op… #101
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: UtilMeta Common CI | |
# run before every pull request and every push | |
on: | |
pull_request: | |
paths: | |
- '.github/workflows/**' | |
- 'tests/**' | |
- 'utilmeta/**' | |
push: | |
paths: | |
- '.github/workflows/**' | |
- 'tests/**' | |
- 'utilmeta/**' | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
# os: [macos-latest, windows-latest, ubuntu-latest] | |
# python-version: ["3.8", "3.11", "3.13"] | |
# django-version: ["4.1", "5.0", "5.1"] | |
include: | |
- os: ubuntu-latest | |
python-version: "3.13" | |
django-version: "5.1" | |
name: "3.13 on Linux" | |
# - os: windows-latest | |
# python-version: "3.13" | |
# django-version: "5.1" | |
# name: "3.13 on Windows" | |
# - os: macos-latest | |
# python-version: "3.13" | |
# django-version: "5.1" | |
# name: "3.13 on Mac" | |
- os: ubuntu-latest | |
python-version: "3.11" | |
django-version: "5.0" | |
name: "3.11 (django 5.0)" | |
- os: ubuntu-latest | |
python-version: "3.10" | |
django-version: "4.2" | |
name: "3.10 (django 4.2)" | |
- os: ubuntu-latest | |
python-version: "3.9" | |
django-version: "4.1" | |
name: "3.9 (django 4.1)" | |
- os: ubuntu-latest | |
python-version: "3.8" | |
django-version: "4.0" | |
name: "3.8 (django 4.0)" | |
- os: ubuntu-latest | |
python-version: "3.8" | |
django-version: "3.0" | |
name: "Django compat earliest (3.0)" | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install flake8 pytest pytest-cov pytest-asyncio | |
pip install jwcrypto psutil jwt | |
pip install utype | |
pip install databases[aiosqlite] redis aioredis | |
pip install django==${{ matrix.django-version }} | |
pip install flask apiflask fastapi sanic[ext] tornado aiohttp uvicorn httpx requests python-multipart | |
- name: Install conditional dependencies | |
if: ${{ matrix.django-version >= '4.0'}} | |
run: | | |
pip install django-ninja djangorestframework drf-spectacular | |
- name: Run lint | |
run: | | |
flake8 utilmeta --count --select=E9,F63,F7,F82 --show-source --statistics | |
- name: Run tests | |
run: | | |
pytest tests --cov=./utilmeta | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 |