diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 305c2e35d156..1f9b4877c050 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -125,15 +125,23 @@ jobs: python-version: "3.10" cache: pip cache-dependency-path: requirements-tests.txt - - name: Install external dependencies for 3rd-party stubs + - name: Install typeshed test-suite requirements + # Install these so we can run `get_external_stub_requirements.py` + run: pip install -r requirements-tests.txt + - name: Create an isolated venv for testing + run: python -m venv .venv + - name: Install 3rd-party stub dependencies run: | - pip install -r requirements-tests.txt DEPENDENCIES=$(python tests/get_external_stub_requirements.py) if [ -n "$DEPENDENCIES" ]; then + source .venv/bin/activate echo "Installing packages: $DEPENDENCIES" pip install $DEPENDENCIES fi - - run: pip freeze --all + - name: List 3rd-party stub dependencies installed + run: | + source .venv/bin/activate + pip freeze --all - name: Get pyright version uses: SebRollen/toml-action@v1.0.2 id: pyright_version @@ -147,6 +155,7 @@ jobs: python-platform: ${{ matrix.python-platform }} python-version: ${{ matrix.python-version }} no-comments: ${{ matrix.python-version != '3.10' || matrix.python-platform != 'Linux' }} # Having each job create the same comment is too noisy. + venv-path: . - name: Run pyright with stricter settings on some of the stubs uses: jakebailey/pyright-action@v1 with: @@ -154,6 +163,7 @@ jobs: python-platform: ${{ matrix.python-platform }} python-version: ${{ matrix.python-version }} no-comments: ${{ matrix.python-version != '3.10' || matrix.python-platform != 'Linux' }} # Having each job create the same comment is too noisy. + venv-path: . project: ./pyrightconfig.stricter.json - name: Run pyright on the test cases uses: jakebailey/pyright-action@v1 @@ -162,6 +172,7 @@ jobs: python-platform: ${{ matrix.python-platform }} python-version: ${{ matrix.python-version }} no-comments: ${{ matrix.python-version != '3.10' || matrix.python-platform != 'Linux' }} # Having each job create the same comment is too noisy. + venv-path: . project: ./pyrightconfig.testcases.json stub-uploader: diff --git a/pyrightconfig.json b/pyrightconfig.json index c44602107c30..6b280cfcd8c7 100644 --- a/pyrightconfig.json +++ b/pyrightconfig.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/pyright/main/packages/vscode-pyright/schemas/pyrightconfig.schema.json", "typeshedPath": ".", + "venv": ".venv", "include": [ "stdlib", "stubs", diff --git a/pyrightconfig.stricter.json b/pyrightconfig.stricter.json index a09066c14924..00501276b5b1 100644 --- a/pyrightconfig.stricter.json +++ b/pyrightconfig.stricter.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/pyright/main/packages/vscode-pyright/schemas/pyrightconfig.schema.json", "typeshedPath": ".", + "venv": ".venv", "include": [ "stdlib", "stubs", diff --git a/pyrightconfig.testcases.json b/pyrightconfig.testcases.json index 059df46cc608..7fa6aa777486 100644 --- a/pyrightconfig.testcases.json +++ b/pyrightconfig.testcases.json @@ -1,6 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/pyright/main/packages/vscode-pyright/schemas/pyrightconfig.schema.json", "typeshedPath": ".", + "venv": ".venv", "include": [ "test_cases", "stubs/**/@tests/test_cases"