Fix premature pytest debug session exit when multiprocessing child process terminates #816
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR Validation | ||
| on: | ||
| pull_request: | ||
| permissions: {} | ||
| env: | ||
| NODE_VERSION: 22.17.0 | ||
| TEST_RESULTS_DIRECTORY: . | ||
| # Force a path with spaces and unicode chars to test extension works in these scenarios | ||
| special-working-directory: './testDir' | ||
| special-working-directory-relative: 'testDir' | ||
| jobs: | ||
| build-vsix: | ||
| name: Create VSIX | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| persist-credentials: false | ||
| - name: Build VSIX | ||
| uses: ./.github/actions/build-vsix | ||
| with: | ||
| node_version: ${{ env.NODE_VERSION }} | ||
| lint: | ||
| name: Lint | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| persist-credentials: false | ||
| - name: Lint | ||
| uses: ./.github/actions/lint | ||
| with: | ||
| node_version: ${{ env.NODE_VERSION }} | ||
| tests: | ||
| name: Tests | ||
| runs-on: ${{ matrix.os }} | ||
| defaults: | ||
| run: | ||
| working-directory: ${{ env.special-working-directory }} | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| os: [ubuntu-latest, windows-latest] | ||
| python: ['3.10', '3.11', '3.12', '3.13'] | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| path: ${{ env.special-working-directory-relative }} | ||
| persist-credentials: false | ||
| # Install bundled libs using 3.10 (minimum supported; debugpy dropped 3.9 support, | ||
| # and pip 26.1+ requires Python >= 3.10). | ||
| - name: Use Python 3.10 | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: '3.10' | ||
| - name: Update pip, install pipx and install wheel | ||
| run: python -m pip install -U pip pipx wheel | ||
| shell: bash | ||
| # This will install libraries to a target directory. | ||
| - name: Install bundled python libraries | ||
| run: pipx run nox --session install_bundled_libs | ||
| shell: bash | ||
| - name: Install Node | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: ${{ env.NODE_VERSION }} | ||
| cache: 'npm' | ||
| cache-dependency-path: ${{ env.special-working-directory-relative }}/package-lock.json | ||
| - name: Install dependencies (npm ci) | ||
| run: npm ci | ||
| # Now that the bundle is installed to target using python 3.9 | ||
| # switch back the python we want to test with | ||
| - name: Use Python ${{ matrix.python }} | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: ${{ matrix.python }} | ||
| # The new python may not have nox so install it again | ||
| - name: Update pip, install pipx and install wheel (again) | ||
| run: python -m pip install -U pip pipx wheel | ||
| shell: bash | ||
| - name: Start xvfb on Linux | ||
| run: | | ||
| /usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & | ||
| echo "DISPLAY=:99" >> $GITHUB_ENV | ||
| echo ">>> Started xvfb" | ||
| if: ${{ runner.os }} == 'Linux' | ||
|
Check warning on line 106 in .github/workflows/pr-check.yml
|
||
| - name: Run tests | ||
| run: pipx run nox --session tests | ||
| shell: bash | ||
| env: | ||
| DISPLAY: ${{ env.DISPLAY }} | ||