Skip to content

Commit 336e603

Browse files
authored
Merge branch 'main' into fix-testing-perf-telemetry-measures
2 parents 6224bc0 + a8c5333 commit 336e603

20 files changed

Lines changed: 693 additions & 106 deletions

.github/actions/build-vsix/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ runs:
2222
using: 'composite'
2323
steps:
2424
- name: Install Node
25-
uses: actions/setup-node@v6
25+
uses: actions/setup-node@v7
2626
with:
2727
node-version: ${{ inputs.node_version }}
2828
cache: 'npm'
@@ -32,7 +32,7 @@ runs:
3232

3333
# Jedi LS depends on dataclasses which is not in the stdlib in Python 3.7.
3434
- name: Use Python 3.10 for JediLSP
35-
uses: actions/setup-python@v6
35+
uses: actions/setup-python@v7
3636
with:
3737
python-version: '3.10'
3838
cache: 'pip'

.github/actions/lint/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ runs:
1010
using: 'composite'
1111
steps:
1212
- name: Install Node
13-
uses: actions/setup-node@v6
13+
uses: actions/setup-node@v7
1414
with:
1515
node-version: ${{ inputs.node_version }}
1616
cache: 'npm'
@@ -36,7 +36,7 @@ runs:
3636
shell: bash
3737

3838
- name: Install Python
39-
uses: actions/setup-python@v6
39+
uses: actions/setup-python@v7
4040
with:
4141
python-version: '3.x'
4242
cache: 'pip'

.github/workflows/build.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ jobs:
130130
runs-on: ubuntu-latest
131131
steps:
132132
- name: Use Python ${{ env.PYTHON_VERSION }}
133-
uses: actions/setup-python@v6
133+
uses: actions/setup-python@v7
134134
with:
135135
python-version: ${{ env.PYTHON_VERSION }}
136136

@@ -184,7 +184,7 @@ jobs:
184184
persist-credentials: false
185185

186186
- name: Use Python ${{ matrix.python }}
187-
uses: actions/setup-python@v6
187+
uses: actions/setup-python@v7
188188
with:
189189
python-version: ${{ matrix.python }}
190190

@@ -197,6 +197,9 @@ jobs:
197197
- name: Install test requirements
198198
run: python -m pip install --upgrade -r build/test-requirements.txt
199199

200+
- name: Install pytest
201+
run: python -m pip install --upgrade pytest
202+
200203
- name: Run Python unit tests
201204
run: python python_files/tests/run_all.py
202205

@@ -236,7 +239,7 @@ jobs:
236239
sparse-checkout-cone-mode: false
237240

238241
- name: Install Node
239-
uses: actions/setup-node@v6
242+
uses: actions/setup-node@v7
240243
with:
241244
node-version: ${{ env.NODE_VERSION }}
242245
cache: 'npm'
@@ -252,7 +255,7 @@ jobs:
252255
run: npx @vscode/l10n-dev@latest export ./src
253256

254257
- name: Install Python ${{ matrix.python }}
255-
uses: actions/setup-python@v6
258+
uses: actions/setup-python@v7
256259
with:
257260
python-version: ${{ matrix.python }}
258261

.github/workflows/gen-issue-velocity.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
persist-credentials: false
2020

2121
- name: Set up Python
22-
uses: actions/setup-python@v6
22+
uses: actions/setup-python@v7
2323
with:
2424
python-version: '3.x'
2525

.github/workflows/pr-check.yml

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ jobs:
101101
runs-on: ubuntu-latest
102102
steps:
103103
- name: Use Python ${{ env.PYTHON_VERSION }}
104-
uses: actions/setup-python@v6
104+
uses: actions/setup-python@v7
105105
with:
106106
python-version: ${{ env.PYTHON_VERSION }}
107107

@@ -156,9 +156,9 @@ jobs:
156156
# We're not running CI on macOS for now because it's one less matrix entry to lower the number of runners used,
157157
# macOS runners are expensive, and we assume that Ubuntu is enough to cover the Unix case.
158158
os: [ubuntu-latest, windows-latest]
159-
# Run the tests on the oldest and most recent versions of Python.
160-
python: ['3.10', '3.x', '3.13'] # run for 3 pytest versions, most recent stable, oldest version supported and pre-release
161-
pytest-version: ['pytest', 'pytest@pre-release', 'pytest==6.2.0']
159+
python: ['3.10', '3.11', '3.12', '3.13', '3.14']
160+
# Test approximately one year of pytest releases and upcoming pytest changes.
161+
pytest-version: ['pytest==8.4.*', 'pytest@pre-release']
162162

163163
steps:
164164
- name: Checkout
@@ -168,22 +168,10 @@ jobs:
168168
persist-credentials: false
169169

170170
- name: Use Python ${{ matrix.python }}
171-
uses: actions/setup-python@v6
171+
uses: actions/setup-python@v7
172172
with:
173173
python-version: ${{ matrix.python }}
174174

175-
- name: Install specific pytest version
176-
if: matrix.pytest-version == 'pytest@pre-release'
177-
run: |
178-
python -m pip install --pre pytest
179-
180-
- name: Install specific pytest version
181-
if: matrix.pytest-version != 'pytest@pre-release'
182-
run: |
183-
python -m pip install "${{ matrix.pytest-version }}"
184-
185-
- name: Install specific pytest version
186-
run: python -m pytest --version
187175
- name: Install base Python requirements
188176
uses: brettcannon/pip-secure-install@92f400e3191171c1858cc0e0d9ac6320173fdb0c # v1.0.0
189177
with:
@@ -193,6 +181,17 @@ jobs:
193181
- name: Install test requirements
194182
run: python -m pip install --upgrade -r build/test-requirements.txt
195183

184+
- name: Install specific pytest version (pre-release)
185+
if: matrix.pytest-version == 'pytest@pre-release'
186+
run: python -m pip install --upgrade --pre pytest
187+
188+
- name: Install specific pytest version
189+
if: matrix.pytest-version != 'pytest@pre-release'
190+
run: python -m pip install --upgrade "${{ matrix.pytest-version }}"
191+
192+
- name: Print pytest version
193+
run: python -m pytest --version
194+
196195
- name: Run Python unit tests
197196
run: python python_files/tests/run_all.py
198197

@@ -233,7 +232,7 @@ jobs:
233232
sparse-checkout-cone-mode: false
234233

235234
- name: Install Node
236-
uses: actions/setup-node@v6
235+
uses: actions/setup-node@v7
237236
with:
238237
node-version: ${{ env.NODE_VERSION }}
239238
cache: 'npm'
@@ -249,7 +248,7 @@ jobs:
249248
run: npx @vscode/l10n-dev@latest export ./src
250249

251250
- name: Use Python ${{ matrix.python }}
252-
uses: actions/setup-python@v6
251+
uses: actions/setup-python@v7
253252
with:
254253
python-version: ${{ matrix.python }}
255254

@@ -507,7 +506,7 @@ jobs:
507506
sparse-checkout-cone-mode: false
508507

509508
- name: Install Node
510-
uses: actions/setup-node@v6
509+
uses: actions/setup-node@v7
511510
with:
512511
node-version: ${{ env.NODE_VERSION }}
513512
cache: 'npm'
@@ -522,7 +521,7 @@ jobs:
522521
run: npx @vscode/l10n-dev@latest export ./src
523522

524523
- name: Use Python ${{ env.PYTHON_VERSION }}
525-
uses: actions/setup-python@v6
524+
uses: actions/setup-python@v7
526525
with:
527526
python-version: ${{ env.PYTHON_VERSION }}
528527
cache: 'pip'

.github/workflows/pr-file-check.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@ jobs:
1717
runs-on: ubuntu-latest
1818
steps:
1919
- name: 'package-lock.json matches package.json'
20-
uses: brettcannon/check-for-changed-files@871d7b8b5917a4f6f06662e2262e8ffc51dff6d1 # v1.2.1
20+
uses: brettcannon/check-for-changed-files@d85c64d17b3c1d0ac57c9cc46ea39399b0d6fa71 # v1.2.2
2121
with:
2222
prereq-pattern: 'package.json'
2323
file-pattern: 'package-lock.json'
2424
skip-label: 'skip package*.json'
2525
failure-message: '${prereq-pattern} was edited but ${file-pattern} was not (the ${skip-label} label can be used to pass this check)'
2626

2727
- name: 'package.json matches package-lock.json'
28-
uses: brettcannon/check-for-changed-files@871d7b8b5917a4f6f06662e2262e8ffc51dff6d1 # v1.2.1
28+
uses: brettcannon/check-for-changed-files@d85c64d17b3c1d0ac57c9cc46ea39399b0d6fa71 # v1.2.2
2929
with:
3030
prereq-pattern: 'package-lock.json'
3131
file-pattern: 'package.json'
3232
skip-label: 'skip package*.json'
3333
failure-message: '${prereq-pattern} was edited but ${file-pattern} was not (the ${skip-label} label can be used to pass this check)'
3434

3535
- name: 'Tests'
36-
uses: brettcannon/check-for-changed-files@871d7b8b5917a4f6f06662e2262e8ffc51dff6d1 # v1.2.1
36+
uses: brettcannon/check-for-changed-files@d85c64d17b3c1d0ac57c9cc46ea39399b0d6fa71 # v1.2.2
3737
with:
3838
prereq-pattern: src/**/*.ts
3939
file-pattern: |

.github/workflows/pr-labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
pull-requests: write
1818
steps:
1919
- name: 'PR impact specified'
20-
uses: mheap/github-action-required-labels@0ac283b4e65c1fb28ce6079dea5546ceca98ccbe # v5.5.2
20+
uses: mheap/github-action-required-labels@23e10fde7e062233401931a0eece796cd9bf3177 # v5.6.0
2121
with:
2222
mode: exactly
2323
count: 1

build/test-requirements.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ pylint
77
pycodestyle
88
pydocstyle
99
prospector
10-
# pytest-black 0.6.0 uses the deprecated `path` arg in pytest_collect_file,
11-
# which was removed in pytest 8.1. Pin to <8.1 to maintain compatibility.
12-
pytest<8.1
1310
flask
1411
fastapi
1512
uvicorn
@@ -41,4 +38,3 @@ pytest-describe
4138

4239
# for pytest-ruff related tests
4340
pytest-ruff
44-
pytest-black

package-lock.json

Lines changed: 12 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1593,7 +1593,7 @@
15931593
{
15941594
"name": "configure_python_environment",
15951595
"displayName": "Configure Python Environment",
1596-
"modelDescription": "This tool configures a Python environment in the given workspace. ALWAYS Use this tool to set up the user's chosen environment and ALWAYS call this tool before using any other Python related tools or running any Python command in the terminal. IMPORTANT: This tool is only for Python environments (venv, virtualenv, conda, pipenv, poetry, pyenv, pixi, or any other Python environment manager). Do not use this tool for npm packages, system packages, Ruby gems, or any other non-Python dependencies.",
1596+
"modelDescription": "This tool configures a Python environment in the given workspace. ALWAYS Use this tool to set up the user's chosen environment and ALWAYS call this tool before using any other Python related tools or running any Python command in the terminal. If you already know which Python interpreter to use (e.g. from a previous tool call or user message), pass it as 'pythonPath' to skip interactive prompts and configure the environment automatically. IMPORTANT: This tool is only for Python environments (venv, virtualenv, conda, pipenv, poetry, pyenv, pixi, or any other Python environment manager). Do not use this tool for npm packages, system packages, Ruby gems, or any other non-Python dependencies.",
15971597
"userDescription": "%python.languageModelTools.configure_python_environment.userDescription%",
15981598
"toolReferenceName": "configurePythonEnvironment",
15991599
"tags": [
@@ -1609,6 +1609,10 @@
16091609
"resourcePath": {
16101610
"type": "string",
16111611
"description": "The path to the Python file or workspace for which a Python Environment needs to be configured."
1612+
},
1613+
"pythonPath": {
1614+
"type": "string",
1615+
"description": "Optional absolute path to a Python interpreter to use. When provided, the environment is configured automatically without any interactive prompts. Use this to avoid blocking the session on user input."
16121616
}
16131617
},
16141618
"required": []

0 commit comments

Comments
 (0)