2222 - uses : actions/checkout@v4
2323 - uses : actions/setup-python@v5
2424 with :
25- python-version : " 3.8 "
25+ python-version : " 3.9 "
2626 cache : ' pip'
2727 cache-dependency-path : ' pyproject.toml'
2828 - name : Install Python dependencies
@@ -51,11 +51,18 @@ jobs:
5151 strategy :
5252 matrix :
5353 os : [ubuntu-20.04]
54- python-version : ["3.8 ", "pypy-3.9", "3.13"]
54+ python-version : ["3.9 ", "pypy-3.9", "3.13", "3.13t "]
5555 name : CPython ${{ matrix.python-version }}-${{ matrix.os }}
5656 steps :
5757 - uses : actions/checkout@v4
58- - name : Setup Python
58+ - if : ${{ matrix.python-version == '3.13t' }}
59+ name : Setup free-threaded Python
60+ uses : deadsnakes/action@v3.2.0
61+ with :
62+ python-version : 3.13
63+ nogil : true
64+ - if : ${{ matrix.python-version != '3.13t' }}
65+ name : Setup Python
5966 uses : actions/setup-python@v5
6067 with :
6168 python-version : ${{ matrix.python-version }}
@@ -65,19 +72,27 @@ jobs:
6572 - name : Install dependencies
6673 run : |
6774 pip install -U pip
68- if [ "${{ matrix.python-version }}" == "3.13" ]; then
75+ if [[ "${{ matrix.python-version }}" == "3.13" ] ]; then
6976 pip install --pre cffi setuptools
7077 pip install --no-build-isolation hatch
78+ elif [[ "${{ matrix.python-version }}" == "3.13t" ]]; then
79+ # Hatch can't be installed on 3.13t, use pytest directly.
80+ pip install .
81+ pip install -r requirements/test.txt
7182 else
7283 pip install hatch
7384 fi
7485 - name : Start MongoDB
75- uses : supercharge/mongodb-github-action@1.10 .0
86+ uses : supercharge/mongodb-github-action@1.11 .0
7687 with :
7788 mongodb-version : 6.0
7889 - name : Run tests
7990 run : |
80- hatch run test:test
91+ if [[ "${{ matrix.python-version }}" == "3.13t" ]]; then
92+ pytest -v --durations=5 --maxfail=10
93+ else
94+ hatch run test:test
95+ fi
8196
8297 doctest :
8398 runs-on : ubuntu-latest
@@ -87,14 +102,14 @@ jobs:
87102 - name : Setup Python
88103 uses : actions/setup-python@v5
89104 with :
90- python-version : " 3.8 "
105+ python-version : " 3.9 "
91106 cache : ' pip'
92107 cache-dependency-path : ' pyproject.toml'
93108 - name : Install dependencies
94109 run : |
95110 pip install -U hatch pip
96111 - name : Start MongoDB
97- uses : supercharge/mongodb-github-action@1.10 .0
112+ uses : supercharge/mongodb-github-action@1.11 .0
98113 with :
99114 mongodb-version : ' 8.0.0-rc4'
100115 - name : Run tests
@@ -111,7 +126,7 @@ jobs:
111126 cache : ' pip'
112127 cache-dependency-path : ' pyproject.toml'
113128 # Build docs on lowest supported Python for furo
114- python-version : ' 3.8 '
129+ python-version : ' 3.9 '
115130 - name : Install dependencies
116131 run : |
117132 pip install -U pip hatch
@@ -129,7 +144,7 @@ jobs:
129144 cache : ' pip'
130145 cache-dependency-path : ' pyproject.toml'
131146 # Build docs on lowest supported Python for furo
132- python-version : ' 3.8 '
147+ python-version : ' 3.9 '
133148 - name : Install dependencies
134149 run : |
135150 pip install -U pip hatch
@@ -142,7 +157,7 @@ jobs:
142157 runs-on : ubuntu-latest
143158 strategy :
144159 matrix :
145- python : ["3.8 ", "3.11"]
160+ python : ["3.9 ", "3.11"]
146161 steps :
147162 - uses : actions/checkout@v4
148163 - uses : actions/setup-python@v5
@@ -167,7 +182,7 @@ jobs:
167182 cache : ' pip'
168183 cache-dependency-path : ' pyproject.toml'
169184 # Build sdist on lowest supported Python
170- python-version : ' 3.8 '
185+ python-version : ' 3.9 '
171186 - name : Build SDist
172187 shell : bash
173188 run : |
@@ -199,9 +214,9 @@ jobs:
199214 cache : ' pip'
200215 cache-dependency-path : ' sdist/test/pyproject.toml'
201216 # Test sdist on lowest supported Python
202- python-version : ' 3.8 '
217+ python-version : ' 3.9 '
203218 - name : Start MongoDB
204- uses : supercharge/mongodb-github-action@1.10 .0
219+ uses : supercharge/mongodb-github-action@1.11 .0
205220 - name : Run connect test from sdist
206221 shell : bash
207222 run : |
0 commit comments