Skip to content

Commit 9471a44

Browse files
authored
Update cattrs tests (#633)
1 parent a8f359a commit 9471a44

File tree

1 file changed

+54
-88
lines changed

1 file changed

+54
-88
lines changed

.github/workflows/third_party.yml

Lines changed: 54 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,10 @@ jobs:
5050
runs-on: ubuntu-latest
5151
timeout-minutes: 60
5252
steps:
53-
- name: Setup Python
54-
uses: actions/setup-python@v5
53+
- name: Install the latest version of uv
54+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
5555
with:
5656
python-version: ${{ matrix.python-version }}
57-
allow-prereleases: true
58-
- name: Install uv
59-
run: curl -LsSf https://astral.sh/uv/install.sh | sh
6057
- name: Checkout pydantic
6158
run: git clone --depth=1 https://github.com/pydantic/pydantic.git || git clone --depth=1 https://github.com/pydantic/pydantic.git
6259
- name: Checkout typing_extensions
@@ -83,12 +80,10 @@ jobs:
8380
runs-on: ubuntu-latest
8481
timeout-minutes: 60
8582
steps:
86-
- name: Setup Python
87-
uses: actions/setup-python@v5
83+
- name: Install the latest version of uv
84+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
8885
with:
8986
python-version: ${{ matrix.python-version }}
90-
- name: Install uv
91-
run: curl -LsSf https://astral.sh/uv/install.sh | sh
9287
- name: Checkout typing_inspect
9388
run: git clone --depth=1 https://github.com/ilevkivskyi/typing_inspect.git || git clone --depth=1 https://github.com/ilevkivskyi/typing_inspect.git
9489
- name: Checkout typing_extensions
@@ -100,15 +95,15 @@ jobs:
10095
run: |
10196
set -x
10297
cd typing_inspect
103-
uv pip install --system -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
98+
uv venv .venv
99+
uv pip install -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
104100
- name: Install typing_extensions latest
105-
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
101+
run: cd typing_inspect; uv pip install "typing-extensions @ ../typing-extensions-latest"
106102
- name: List all installed dependencies
107-
run: uv pip freeze
103+
run: cd typing_inspect; uv pip freeze
108104
- name: Run typing_inspect tests
109105
run: |
110-
cd typing_inspect
111-
pytest
106+
cd typing_inspect; uv run --no-project pytest
112107
113108
pycroscope:
114109
name: pycroscope tests
@@ -120,13 +115,10 @@ jobs:
120115
runs-on: ubuntu-latest
121116
timeout-minutes: 60
122117
steps:
123-
- name: Setup Python
124-
uses: actions/setup-python@v5
118+
- name: Install the latest version of uv
119+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
125120
with:
126121
python-version: ${{ matrix.python-version }}
127-
allow-prereleases: true
128-
- name: Install uv
129-
run: curl -LsSf https://astral.sh/uv/install.sh | sh
130122
- name: Check out pycroscope
131123
run: git clone --depth=1 https://github.com/JelleZijlstra/pycroscope.git || git clone --depth=1 https://github.com/JelleZijlstra/pycroscope.git
132124
- name: Checkout typing_extensions
@@ -138,15 +130,15 @@ jobs:
138130
run: |
139131
set -x
140132
cd pycroscope
141-
uv pip install --system 'pycroscope[tests] @ .' --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
133+
uv venv .venv
134+
uv pip install 'pycroscope[tests] @ .' --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
142135
- name: Install typing_extensions latest
143-
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
136+
run: cd pycroscope; uv pip install "typing-extensions @ ../typing-extensions-latest"
144137
- name: List all installed dependencies
145-
run: uv pip freeze
138+
run: cd pycroscope; uv pip freeze
146139
- name: Run pycroscope tests
147140
run: |
148-
cd pycroscope
149-
pytest pycroscope/
141+
cd pycroscope; uv run --no-project pytest pycroscope/
150142
151143
typeguard:
152144
name: typeguard tests
@@ -158,13 +150,10 @@ jobs:
158150
runs-on: ubuntu-latest
159151
timeout-minutes: 60
160152
steps:
161-
- name: Setup Python
162-
uses: actions/setup-python@v5
153+
- name: Install the latest version of uv
154+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
163155
with:
164156
python-version: ${{ matrix.python-version }}
165-
allow-prereleases: true
166-
- name: Install uv
167-
run: curl -LsSf https://astral.sh/uv/install.sh | sh
168157
- name: Check out typeguard
169158
run: git clone --depth=1 https://github.com/agronholm/typeguard.git || git clone --depth=1 https://github.com/agronholm/typeguard.git
170159
- name: Checkout typing_extensions
@@ -176,16 +165,16 @@ jobs:
176165
run: |
177166
set -x
178167
cd typeguard
179-
uv pip install --system "typeguard @ ." --group test --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
168+
uv venv .venv
169+
uv pip install "typeguard @ ." --group test --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
180170
- name: Install typing_extensions latest
181-
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
171+
run: cd typeguard; uv pip install "typing-extensions @ ../typing-extensions-latest"
182172
- name: List all installed dependencies
183-
run: uv pip freeze
173+
run: cd typeguard; uv pip freeze
184174
- name: Run typeguard tests
185175
run: |
186-
cd typeguard
187176
export PYTHON_COLORS=0 # A test fails if tracebacks are colorized
188-
pytest
177+
cd typeguard; uv run --no-project pytest
189178
190179
typed-argument-parser:
191180
name: typed-argument-parser tests
@@ -197,12 +186,10 @@ jobs:
197186
runs-on: ubuntu-latest
198187
timeout-minutes: 60
199188
steps:
200-
- name: Setup Python
201-
uses: actions/setup-python@v5
189+
- name: Install the latest version of uv
190+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
202191
with:
203192
python-version: ${{ matrix.python-version }}
204-
- name: Install uv
205-
run: curl -LsSf https://astral.sh/uv/install.sh | sh
206193
- name: Check out typed-argument-parser
207194
run: git clone --depth=1 https://github.com/swansonk14/typed-argument-parser.git || git clone --depth=1 https://github.com/swansonk14/typed-argument-parser.git
208195
- name: Checkout typing_extensions
@@ -220,16 +207,16 @@ jobs:
220207
run: |
221208
set -x
222209
cd typed-argument-parser
223-
uv pip install --system "typed-argument-parser @ ." --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
224-
uv pip install --system pytest --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
210+
uv venv .venv
211+
uv pip install "typed-argument-parser @ ." --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
212+
uv pip install pytest --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
225213
- name: Install typing_extensions latest
226-
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
214+
run: cd typed-argument-parser; uv pip install "typing-extensions @ ../typing-extensions-latest"
227215
- name: List all installed dependencies
228-
run: uv pip freeze
216+
run: cd typed-argument-parser; uv pip freeze
229217
- name: Run typed-argument-parser tests
230218
run: |
231-
cd typed-argument-parser
232-
pytest
219+
cd typed-argument-parser; uv run --no-project pytest
233220
234221
mypy:
235222
name: stubtest & mypyc tests
@@ -241,13 +228,10 @@ jobs:
241228
runs-on: ubuntu-latest
242229
timeout-minutes: 60
243230
steps:
244-
- name: Setup Python
245-
uses: actions/setup-python@v5
231+
- name: Install the latest version of uv
232+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
246233
with:
247234
python-version: ${{ matrix.python-version }}
248-
allow-prereleases: true
249-
- name: Install uv
250-
run: curl -LsSf https://astral.sh/uv/install.sh | sh
251235
- name: Checkout mypy for stubtest and mypyc tests
252236
run: git clone --depth=1 https://github.com/python/mypy.git || git clone --depth=1 https://github.com/python/mypy.git
253237
- name: Checkout typing_extensions
@@ -259,16 +243,16 @@ jobs:
259243
run: |
260244
set -x
261245
cd mypy
262-
uv pip install --system -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
263-
uv pip install --system -e .
246+
uv venv .venv
247+
uv pip install -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
248+
uv pip install -e .
264249
- name: Install typing_extensions latest
265-
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
250+
run: cd mypy; uv pip install "typing-extensions @ ../typing-extensions-latest"
266251
- name: List all installed dependencies
267-
run: uv pip freeze
252+
run: cd mypy; uv pip freeze
268253
- name: Run stubtest & mypyc tests
269254
run: |
270-
cd mypy
271-
pytest -n 2 ./mypy/test/teststubtest.py ./mypyc/test/test_run.py ./mypyc/test/test_external.py
255+
cd mypy; uv run --no-project pytest -n 2 ./mypy/test/teststubtest.py ./mypyc/test/test_run.py ./mypyc/test/test_external.py
272256
273257
cattrs:
274258
name: cattrs tests
@@ -280,8 +264,8 @@ jobs:
280264
runs-on: ubuntu-latest
281265
timeout-minutes: 60
282266
steps:
283-
- name: Setup Python
284-
uses: actions/setup-python@v5
267+
- name: Install the latest version of uv
268+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
285269
with:
286270
python-version: ${{ matrix.python-version }}
287271
- name: Checkout cattrs
@@ -291,19 +275,14 @@ jobs:
291275
with:
292276
path: typing-extensions-latest
293277
persist-credentials: false
294-
- name: Install pdm for cattrs
295-
run: pip install pdm
296-
- name: Add latest typing-extensions as a dependency
297-
run: |
298-
cd cattrs
299-
pdm remove typing-extensions
300-
pdm add --dev ../typing-extensions-latest
301-
- name: Install cattrs test dependencies
302-
run: cd cattrs; pdm install --dev -G :all
303-
- name: List all installed dependencies
304-
run: cd cattrs; pdm list -vv
305-
- name: Run cattrs tests
306-
run: cd cattrs; pdm run pytest tests
278+
- name: Add local version of typing_extensions as a dependency
279+
run: cd cattrs; uv add --editable ../typing-extensions-latest
280+
- name: Install test dependencies
281+
run: cd cattrs; uv sync --group test --all-extras
282+
- name: List installed dependencies
283+
run: cd cattrs; uv pip list
284+
- name: Run tests
285+
run: cd cattrs; uv run pytest tests
307286

308287
sqlalchemy:
309288
name: sqlalchemy tests
@@ -320,32 +299,21 @@ jobs:
320299
runs-on: ubuntu-22.04
321300
timeout-minutes: 60
322301
steps:
323-
- name: Setup Python
324-
uses: actions/setup-python@v5
302+
- name: Install the latest version of uv
303+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
325304
with:
326305
python-version: ${{ matrix.python-version }}
327-
allow-prereleases: true
328-
- name: Install uv
329-
run: curl -LsSf https://astral.sh/uv/install.sh | sh
330306
- name: Checkout sqlalchemy
331307
run: git clone -b ${{ matrix.checkout-ref }} --depth=1 https://github.com/sqlalchemy/sqlalchemy.git || git clone -b ${{ matrix.checkout-ref }} --depth=1 https://github.com/sqlalchemy/sqlalchemy.git
332308
- name: Checkout typing_extensions
333309
uses: actions/checkout@v4
334310
with:
335311
path: typing-extensions-latest
336312
persist-credentials: false
337-
- name: Install sqlalchemy test dependencies
338-
run: uv pip install --system tox setuptools
339-
- name: List installed dependencies
340-
# Note: tox installs SQLAlchemy and its dependencies in a different isolated
341-
# environment before running the tests. To see the dependencies installed
342-
# in the test environment, look for the line 'freeze> python -m pip freeze --all'
343-
# in the output of the test step below.
344-
run: uv pip list
345313
- name: Run sqlalchemy tests
346314
run: |
347315
cd sqlalchemy
348-
tox -e github-nocext \
316+
uvx --with setuptools tox -e github-nocext \
349317
--force-dep "typing-extensions @ file://$(pwd)/../typing-extensions-latest" \
350318
-- -q --nomemory --notimingintensive
351319
@@ -360,8 +328,8 @@ jobs:
360328
matrix:
361329
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
362330
steps:
363-
- name: Setup Python
364-
uses: actions/setup-python@v5
331+
- name: Install the latest version of uv
332+
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
365333
with:
366334
python-version: ${{ matrix.python-version }}
367335
- name: Checkout litestar
@@ -371,8 +339,6 @@ jobs:
371339
with:
372340
path: typing-extensions-latest
373341
persist-credentials: false
374-
- name: Install uv
375-
run: curl -LsSf https://astral.sh/uv/install.sh | sh
376342
- name: Run litestar tests
377343
run: uv run --with=../typing-extensions-latest -- python -m pytest tests/unit/test_typing.py tests/unit/test_dto
378344
working-directory: litestar

0 commit comments

Comments
 (0)