Skip to content

Commit 204f357

Browse files
committed
Integrations separate CI workflows
1 parent 0dd125f commit 204f357

9 files changed

+449
-1
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Integration aiohttp
2+
3+
on:
4+
push:
5+
pull_request:
6+
types: [opened, synchronize]
7+
8+
jobs:
9+
integration-aiohttp:
10+
name: "Integration aiohttp"
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
15+
fail-fast: false
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Get full Python version
25+
id: full-python-version
26+
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
27+
28+
- name: Set up poetry
29+
uses: Gr1N/setup-poetry@v9
30+
with:
31+
poetry-version: "2.3.1"
32+
33+
- name: Configure poetry
34+
run: poetry config virtualenvs.in-project true
35+
36+
- name: Set up cache
37+
uses: actions/cache@v5
38+
id: cache
39+
with:
40+
path: .venv
41+
key: venv-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
42+
43+
- name: Ensure cache is healthy
44+
if: steps.cache.outputs.cache-hit == 'true'
45+
run: timeout 10s poetry run pip --version || rm -rf .venv
46+
47+
- name: Install dependencies
48+
run: poetry install --all-extras
49+
50+
- name: Test
51+
env:
52+
PYTEST_ADDOPTS: "--color=yes"
53+
run: poetry run pytest tests/integration/contrib/aiohttp
54+
55+
- name: Upload coverage
56+
uses: codecov/codecov-action@v5
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Integration django
2+
3+
on:
4+
push:
5+
pull_request:
6+
types: [opened, synchronize]
7+
8+
jobs:
9+
integration-django:
10+
name: "Integration django"
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
15+
fail-fast: false
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Get full Python version
25+
id: full-python-version
26+
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
27+
28+
- name: Set up poetry
29+
uses: Gr1N/setup-poetry@v9
30+
with:
31+
poetry-version: "2.3.1"
32+
33+
- name: Configure poetry
34+
run: poetry config virtualenvs.in-project true
35+
36+
- name: Set up cache
37+
uses: actions/cache@v5
38+
id: cache
39+
with:
40+
path: .venv
41+
key: venv-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
42+
43+
- name: Ensure cache is healthy
44+
if: steps.cache.outputs.cache-hit == 'true'
45+
run: timeout 10s poetry run pip --version || rm -rf .venv
46+
47+
- name: Install dependencies
48+
run: poetry install --all-extras
49+
50+
- name: Test
51+
env:
52+
PYTEST_ADDOPTS: "--color=yes"
53+
run: poetry run pytest tests/integration/contrib/django
54+
55+
- name: Upload coverage
56+
uses: codecov/codecov-action@v5
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Integration falcon
2+
3+
on:
4+
push:
5+
pull_request:
6+
types: [opened, synchronize]
7+
8+
jobs:
9+
integration-falcon:
10+
name: "Integration falcon"
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
15+
fail-fast: false
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Get full Python version
25+
id: full-python-version
26+
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
27+
28+
- name: Set up poetry
29+
uses: Gr1N/setup-poetry@v9
30+
with:
31+
poetry-version: "2.3.1"
32+
33+
- name: Configure poetry
34+
run: poetry config virtualenvs.in-project true
35+
36+
- name: Set up cache
37+
uses: actions/cache@v5
38+
id: cache
39+
with:
40+
path: .venv
41+
key: venv-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
42+
43+
- name: Ensure cache is healthy
44+
if: steps.cache.outputs.cache-hit == 'true'
45+
run: timeout 10s poetry run pip --version || rm -rf .venv
46+
47+
- name: Install dependencies
48+
run: poetry install --all-extras
49+
50+
- name: Test
51+
env:
52+
PYTEST_ADDOPTS: "--color=yes"
53+
run: poetry run pytest tests/integration/contrib/falcon
54+
55+
- name: Upload coverage
56+
uses: codecov/codecov-action@v5
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Integration fastapi
2+
3+
on:
4+
push:
5+
pull_request:
6+
types: [opened, synchronize]
7+
8+
jobs:
9+
integration-fastapi:
10+
name: "Integration fastapi"
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
15+
fail-fast: false
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Get full Python version
25+
id: full-python-version
26+
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
27+
28+
- name: Set up poetry
29+
uses: Gr1N/setup-poetry@v9
30+
with:
31+
poetry-version: "2.3.1"
32+
33+
- name: Configure poetry
34+
run: poetry config virtualenvs.in-project true
35+
36+
- name: Set up cache
37+
uses: actions/cache@v5
38+
id: cache
39+
with:
40+
path: .venv
41+
key: venv-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
42+
43+
- name: Ensure cache is healthy
44+
if: steps.cache.outputs.cache-hit == 'true'
45+
run: timeout 10s poetry run pip --version || rm -rf .venv
46+
47+
- name: Install dependencies
48+
run: poetry install --all-extras
49+
50+
- name: Test
51+
env:
52+
PYTEST_ADDOPTS: "--color=yes"
53+
run: poetry run pytest tests/integration/contrib/fastapi
54+
55+
- name: Upload coverage
56+
uses: codecov/codecov-action@v5
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Integration flask
2+
3+
on:
4+
push:
5+
pull_request:
6+
types: [opened, synchronize]
7+
8+
jobs:
9+
integration-flask:
10+
name: "Integration flask"
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
15+
fail-fast: false
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Get full Python version
25+
id: full-python-version
26+
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
27+
28+
- name: Set up poetry
29+
uses: Gr1N/setup-poetry@v9
30+
with:
31+
poetry-version: "2.3.1"
32+
33+
- name: Configure poetry
34+
run: poetry config virtualenvs.in-project true
35+
36+
- name: Set up cache
37+
uses: actions/cache@v5
38+
id: cache
39+
with:
40+
path: .venv
41+
key: venv-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
42+
43+
- name: Ensure cache is healthy
44+
if: steps.cache.outputs.cache-hit == 'true'
45+
run: timeout 10s poetry run pip --version || rm -rf .venv
46+
47+
- name: Install dependencies
48+
run: poetry install --all-extras
49+
50+
- name: Test
51+
env:
52+
PYTEST_ADDOPTS: "--color=yes"
53+
run: poetry run pytest tests/integration/contrib/flask
54+
55+
- name: Upload coverage
56+
uses: codecov/codecov-action@v5
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Integration requests
2+
3+
on:
4+
push:
5+
pull_request:
6+
types: [opened, synchronize]
7+
8+
jobs:
9+
integration-requests:
10+
name: "Integration requests"
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
15+
fail-fast: false
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Get full Python version
25+
id: full-python-version
26+
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
27+
28+
- name: Set up poetry
29+
uses: Gr1N/setup-poetry@v9
30+
with:
31+
poetry-version: "2.3.1"
32+
33+
- name: Configure poetry
34+
run: poetry config virtualenvs.in-project true
35+
36+
- name: Set up cache
37+
uses: actions/cache@v5
38+
id: cache
39+
with:
40+
path: .venv
41+
key: venv-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
42+
43+
- name: Ensure cache is healthy
44+
if: steps.cache.outputs.cache-hit == 'true'
45+
run: timeout 10s poetry run pip --version || rm -rf .venv
46+
47+
- name: Install dependencies
48+
run: poetry install --all-extras
49+
50+
- name: Test
51+
env:
52+
PYTEST_ADDOPTS: "--color=yes"
53+
run: poetry run pytest tests/integration/contrib/requests
54+
55+
- name: Upload coverage
56+
uses: codecov/codecov-action@v5
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Integration starlette
2+
3+
on:
4+
push:
5+
pull_request:
6+
types: [opened, synchronize]
7+
8+
jobs:
9+
integration-starlette:
10+
name: "Integration starlette"
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
15+
fail-fast: false
16+
steps:
17+
- uses: actions/checkout@v6
18+
19+
- name: Set up Python ${{ matrix.python-version }}
20+
uses: actions/setup-python@v6
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Get full Python version
25+
id: full-python-version
26+
run: echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
27+
28+
- name: Set up poetry
29+
uses: Gr1N/setup-poetry@v9
30+
with:
31+
poetry-version: "2.3.1"
32+
33+
- name: Configure poetry
34+
run: poetry config virtualenvs.in-project true
35+
36+
- name: Set up cache
37+
uses: actions/cache@v5
38+
id: cache
39+
with:
40+
path: .venv
41+
key: venv-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
42+
43+
- name: Ensure cache is healthy
44+
if: steps.cache.outputs.cache-hit == 'true'
45+
run: timeout 10s poetry run pip --version || rm -rf .venv
46+
47+
- name: Install dependencies
48+
run: poetry install --all-extras
49+
50+
- name: Test
51+
env:
52+
PYTEST_ADDOPTS: "--color=yes"
53+
run: poetry run pytest tests/integration/contrib/starlette
54+
55+
- name: Upload coverage
56+
uses: codecov/codecov-action@v5

0 commit comments

Comments
 (0)