Skip to content
Merged
Changes from all 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
142 changes: 54 additions & 88 deletions .github/workflows/third_party.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Checkout pydantic
run: git clone --depth=1 https://github.com/pydantic/pydantic.git || git clone --depth=1 https://github.com/pydantic/pydantic.git
- name: Checkout typing_extensions
Expand All @@ -83,12 +80,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Checkout typing_inspect
run: git clone --depth=1 https://github.com/ilevkivskyi/typing_inspect.git || git clone --depth=1 https://github.com/ilevkivskyi/typing_inspect.git
- name: Checkout typing_extensions
Expand All @@ -100,15 +95,15 @@ jobs:
run: |
set -x
cd typing_inspect
uv pip install --system -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
uv venv .venv
uv pip install -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
- name: Install typing_extensions latest
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
run: cd typing_inspect; uv pip install "typing-extensions @ ../typing-extensions-latest"
- name: List all installed dependencies
run: uv pip freeze
run: cd typing_inspect; uv pip freeze
- name: Run typing_inspect tests
run: |
cd typing_inspect
pytest
cd typing_inspect; uv run --no-project pytest

pycroscope:
name: pycroscope tests
Expand All @@ -120,13 +115,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Check out pycroscope
run: git clone --depth=1 https://github.com/JelleZijlstra/pycroscope.git || git clone --depth=1 https://github.com/JelleZijlstra/pycroscope.git
- name: Checkout typing_extensions
Expand All @@ -138,15 +130,15 @@ jobs:
run: |
set -x
cd pycroscope
uv pip install --system 'pycroscope[tests] @ .' --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
uv venv .venv
uv pip install 'pycroscope[tests] @ .' --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
- name: Install typing_extensions latest
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
run: cd pycroscope; uv pip install "typing-extensions @ ../typing-extensions-latest"
- name: List all installed dependencies
run: uv pip freeze
run: cd pycroscope; uv pip freeze
- name: Run pycroscope tests
run: |
cd pycroscope
pytest pycroscope/
cd pycroscope; uv run --no-project pytest pycroscope/

typeguard:
name: typeguard tests
Expand All @@ -158,13 +150,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Check out typeguard
run: git clone --depth=1 https://github.com/agronholm/typeguard.git || git clone --depth=1 https://github.com/agronholm/typeguard.git
- name: Checkout typing_extensions
Expand All @@ -176,16 +165,16 @@ jobs:
run: |
set -x
cd typeguard
uv pip install --system "typeguard @ ." --group test --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
uv venv .venv
uv pip install "typeguard @ ." --group test --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
- name: Install typing_extensions latest
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
run: cd typeguard; uv pip install "typing-extensions @ ../typing-extensions-latest"
- name: List all installed dependencies
run: uv pip freeze
run: cd typeguard; uv pip freeze
- name: Run typeguard tests
run: |
cd typeguard
export PYTHON_COLORS=0 # A test fails if tracebacks are colorized
pytest
cd typeguard; uv run --no-project pytest

typed-argument-parser:
name: typed-argument-parser tests
Expand All @@ -197,12 +186,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Check out typed-argument-parser
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
- name: Checkout typing_extensions
Expand All @@ -220,16 +207,16 @@ jobs:
run: |
set -x
cd typed-argument-parser
uv pip install --system "typed-argument-parser @ ." --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
uv pip install --system pytest --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
uv venv .venv
uv pip install "typed-argument-parser @ ." --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
uv pip install pytest --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
- name: Install typing_extensions latest
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
run: cd typed-argument-parser; uv pip install "typing-extensions @ ../typing-extensions-latest"
- name: List all installed dependencies
run: uv pip freeze
run: cd typed-argument-parser; uv pip freeze
- name: Run typed-argument-parser tests
run: |
cd typed-argument-parser
pytest
cd typed-argument-parser; uv run --no-project pytest

mypy:
name: stubtest & mypyc tests
Expand All @@ -241,13 +228,10 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Checkout mypy for stubtest and mypyc tests
run: git clone --depth=1 https://github.com/python/mypy.git || git clone --depth=1 https://github.com/python/mypy.git
- name: Checkout typing_extensions
Expand All @@ -259,16 +243,16 @@ jobs:
run: |
set -x
cd mypy
uv pip install --system -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
uv pip install --system -e .
uv venv .venv
uv pip install -r test-requirements.txt --exclude-newer "$(git show -s --date=format:'%Y-%m-%dT%H:%M:%SZ' --format=%cd HEAD)"
uv pip install -e .
- name: Install typing_extensions latest
run: uv pip install --system "typing-extensions @ ./typing-extensions-latest"
run: cd mypy; uv pip install "typing-extensions @ ../typing-extensions-latest"
- name: List all installed dependencies
run: uv pip freeze
run: cd mypy; uv pip freeze
- name: Run stubtest & mypyc tests
run: |
cd mypy
pytest -n 2 ./mypy/test/teststubtest.py ./mypyc/test/test_run.py ./mypyc/test/test_external.py
cd mypy; uv run --no-project pytest -n 2 ./mypy/test/teststubtest.py ./mypyc/test/test_run.py ./mypyc/test/test_external.py

cattrs:
name: cattrs tests
Expand All @@ -280,8 +264,8 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
- name: Checkout cattrs
Expand All @@ -291,19 +275,14 @@ jobs:
with:
path: typing-extensions-latest
persist-credentials: false
- name: Install pdm for cattrs
run: pip install pdm
- name: Add latest typing-extensions as a dependency
run: |
cd cattrs
pdm remove typing-extensions
pdm add --dev ../typing-extensions-latest
- name: Install cattrs test dependencies
run: cd cattrs; pdm install --dev -G :all
- name: List all installed dependencies
run: cd cattrs; pdm list -vv
- name: Run cattrs tests
run: cd cattrs; pdm run pytest tests
- name: Add local version of typing_extensions as a dependency
run: cd cattrs; uv add --editable ../typing-extensions-latest
- name: Install test dependencies
run: cd cattrs; uv sync --group test --all-extras
- name: List installed dependencies
run: cd cattrs; uv pip list
- name: Run tests
run: cd cattrs; uv run pytest tests

sqlalchemy:
name: sqlalchemy tests
Expand All @@ -320,32 +299,21 @@ jobs:
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Checkout sqlalchemy
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
- name: Checkout typing_extensions
uses: actions/checkout@v4
with:
path: typing-extensions-latest
persist-credentials: false
- name: Install sqlalchemy test dependencies
run: uv pip install --system tox setuptools
- name: List installed dependencies
# Note: tox installs SQLAlchemy and its dependencies in a different isolated
# environment before running the tests. To see the dependencies installed
# in the test environment, look for the line 'freeze> python -m pip freeze --all'
# in the output of the test step below.
run: uv pip list
- name: Run sqlalchemy tests
run: |
cd sqlalchemy
tox -e github-nocext \
uvx --with setuptools tox -e github-nocext \
--force-dep "typing-extensions @ file://$(pwd)/../typing-extensions-latest" \
-- -q --nomemory --notimingintensive

Expand All @@ -360,8 +328,8 @@ jobs:
matrix:
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
steps:
- name: Setup Python
uses: actions/setup-python@v5
- name: Install the latest version of uv
uses: astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
with:
python-version: ${{ matrix.python-version }}
- name: Checkout litestar
Expand All @@ -371,8 +339,6 @@ jobs:
with:
path: typing-extensions-latest
persist-credentials: false
- name: Install uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Run litestar tests
run: uv run --with=../typing-extensions-latest -- python -m pytest tests/unit/test_typing.py tests/unit/test_dto
working-directory: litestar
Expand Down
Loading