Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

- name: Get full Python version
id: full-python-version
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
run: echo "version=$(python -c \"import sys; print('-'.join(str(v) for v in sys.version_info))\")" >> "$GITHUB_OUTPUT"

- name: Set up poetry
uses: Gr1N/setup-poetry@v9
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/integration-aiohttp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Integration aiohttp

on:
push:
pull_request:
types: [opened, synchronize]

jobs:
integration-aiohttp:
uses: ./.github/workflows/integration-reusable.yml
with:
integration: aiohttp
Comment thread Fixed
secrets: inherit
Comment thread Fixed
13 changes: 13 additions & 0 deletions .github/workflows/integration-django.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Integration django

on:
push:
pull_request:
types: [opened, synchronize]

jobs:
integration-django:
uses: ./.github/workflows/integration-reusable.yml
with:
integration: django
Comment thread Fixed
secrets: inherit
Comment thread Fixed
13 changes: 13 additions & 0 deletions .github/workflows/integration-falcon.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Integration falcon

on:
push:
pull_request:
types: [opened, synchronize]

jobs:
integration-falcon:
uses: ./.github/workflows/integration-reusable.yml
with:
integration: falcon
Comment thread Fixed
secrets: inherit
Comment thread Fixed
13 changes: 13 additions & 0 deletions .github/workflows/integration-fastapi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Integration fastapi

on:
push:
pull_request:
types: [opened, synchronize]

jobs:
integration-fastapi:
uses: ./.github/workflows/integration-reusable.yml
with:
integration: fastapi
Comment thread Fixed
secrets: inherit
Comment thread Fixed
13 changes: 13 additions & 0 deletions .github/workflows/integration-flask.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Integration flask

on:
push:
pull_request:
types: [opened, synchronize]

jobs:
integration-flask:
uses: ./.github/workflows/integration-reusable.yml
with:
integration: flask
Comment thread Fixed
secrets: inherit
Comment thread Fixed
13 changes: 13 additions & 0 deletions .github/workflows/integration-requests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Integration requests

on:
push:
pull_request:
types: [opened, synchronize]

jobs:
integration-requests:
uses: ./.github/workflows/integration-reusable.yml
with:
integration: requests
Comment thread Fixed
secrets: inherit
Comment thread Fixed
66 changes: 66 additions & 0 deletions .github/workflows/integration-reusable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Integration reusable

on:
workflow_call:
inputs:
integration:
description: Integration name under tests/integration/contrib
required: true
type: string

permissions:
contents: read
id-token: write

jobs:
test:
name: "Integration ${{ inputs.integration }}"
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
fail-fast: false
steps:
- uses: actions/checkout@v6

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

- name: Get full Python version
id: full-python-version
run: echo "version=$(python -c \"import sys; print('-'.join(str(v) for v in sys.version_info))\")" >> "$GITHUB_OUTPUT"

- name: Set up poetry
uses: Gr1N/setup-poetry@v9
with:
poetry-version: "2.3.1"

- name: Configure poetry
run: poetry config virtualenvs.in-project true

- name: Set up cache
uses: actions/cache@v5
id: cache
with:
path: .venv
key: venv-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}

- name: Ensure cache is healthy
if: steps.cache.outputs.cache-hit == 'true'
run: timeout 10s poetry run pip --version || rm -rf .venv

- name: Install dependencies
run: poetry install --all-extras

- name: Test
env:
PYTEST_ADDOPTS: "--color=yes"
run: poetry run pytest tests/integration/contrib/${{ inputs.integration }}

- name: Upload coverage
uses: codecov/codecov-action@v5
with:
flags: integration-${{ inputs.integration }},python-${{ matrix.python-version }}
name: integration-${{ inputs.integration }}-python-${{ matrix.python-version }}
13 changes: 13 additions & 0 deletions .github/workflows/integration-starlette.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Integration starlette

on:
push:
pull_request:
types: [opened, synchronize]

jobs:
integration-starlette:
uses: ./.github/workflows/integration-reusable.yml
with:
integration: starlette
Comment thread Fixed
secrets: inherit
Comment thread Fixed
13 changes: 13 additions & 0 deletions .github/workflows/integration-werkzeug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Integration werkzeug

on:
push:
pull_request:
types: [opened, synchronize]

jobs:
integration-werkzeug:
uses: ./.github/workflows/integration-reusable.yml
with:
integration: werkzeug
Comment thread Fixed
secrets: inherit
Comment thread Fixed
6 changes: 3 additions & 3 deletions .github/workflows/python-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:

- name: Get full Python version
id: full-python-version
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
run: echo "version=$(python -c \"import sys; print('-'.join(str(v) for v in sys.version_info))\")" >> "$GITHUB_OUTPUT"

- name: Set up poetry
uses: Gr1N/setup-poetry@v9
Expand All @@ -53,7 +53,7 @@ jobs:
- name: Test
env:
PYTEST_ADDOPTS: "--color=yes"
run: poetry run pytest
run: poetry run pytest --ignore=tests/integration/contrib

- name: Static type check
run: poetry run mypy
Expand All @@ -78,7 +78,7 @@ jobs:

- name: Get full Python version
id: full-python-version
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
run: echo "version=$(python -c \"import sys; print('-'.join(str(v) for v in sys.version_info))\")" >> "$GITHUB_OUTPUT"

- name: Set up poetry
uses: Gr1N/setup-poetry@v9
Expand Down
Loading