Skip to content

Commit 4c180f4

Browse files
authored
Merge pull request #6279 from dotnet/merge_main
Merge main to release
2 parents ffb7eaf + 9f49183 commit 4c180f4

30 files changed

+1006
-788
lines changed

.vscode/launch.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@
138138
],
139139
"env": {
140140
"CODE_EXTENSIONS_PATH": "${workspaceRoot}",
141-
"OSVC_SUITE": "slnWithCsproj",
142141
},
143142
"sourceMaps": true,
144143
"outFiles": [

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@
99
- Debug from .csproj and .sln [#5876](https://github.com/dotnet/vscode-csharp/issues/5876)
1010

1111
## Latest
12+
* Update Roslyn version (PR: [#6264](https://github.com/dotnet/vscode-csharp/pull/6264))
13+
* Upgrade MSBuildLocator to fix homebrew dotnet resolution (PR: [#69769](https://github.com/dotnet/roslyn/pull/69769))
14+
* Fix reported ExeName / ExeVersion (PR: [#69771](https://github.com/dotnet/roslyn/pull/69771))
15+
* Add 1.x setting names to migrated settings descriptions (PR: [#6266](https://github.com/dotnet/vscode-csharp/pull/6266))
16+
17+
## 2.0.436
1218
* Update Roslyn version (PR: [#6245](https://github.com/dotnet/vscode-csharp/pull/6245))
1319
* Fix import completion (PR: [#69691](https://github.com/dotnet/roslyn/pull/69691))
1420
* Reduce overhead on semantic token refresh requests (PR: [#69690](https://github.com/dotnet/roslyn/pull/69690))

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ VSIXs can be created using the gulp command `gulp vsix:release:package`. This w
4949

5050
To update the version of the roslyn server used by the extension do the following:
5151
1. Find the the Roslyn signed build you want from [here](https://dnceng.visualstudio.com/internal/_build?definitionId=327&_a=summary). Typically the latest successful build of main is fine.
52-
2. In the official build stage, look for the `Publish Assets` step. In there you will see it publishing the `Microsoft.CodeAnalysis.LanguageServer` package with some version, e.g. `4.6.0-3.23158.4`. Take note of that version number.
52+
2. In the official build stage, look for the `Publish Assets` step. In there you will see it publishing the `Microsoft.CodeAnalysis.LanguageServer.neutral` package with some version, e.g. `4.6.0-3.23158.4`. Take note of that version number.
5353
3. In the [package.json](package.json) inside the `defaults` section update the `roslyn` key to point to the version number you found above in step 2.
54-
4. Build and test the change (make sure to run `gulp installDependencies` to get the new version!). If everything looks good, submit a PR.
55-
* Adding new package versions might require authentication, run with the `--interactive` flag to login. You may need to install [azure artifacts nuget credential provider](https://github.com/microsoft/artifacts-credprovider#installation-on-windows) to run interactive authentication.
54+
4. Ensure that version of the package is in the proper feeds by running `gulp updateRoslynVersion`. Note: you may need to install the [Azure Artifacts NuGet Credential Provider](https://github.com/microsoft/artifacts-credprovider#installation-on-windows) to run interactive authentication.
55+
5. Build and test the change. If everything looks good, submit a PR.

azure-pipelines.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,26 +38,28 @@ stages:
3838
strategy:
3939
matrix:
4040
linux:
41-
demandsName: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
41+
demandsName: 1es-ubuntu-2004-open
4242
windows:
43-
demandsName: ImageOverride -equals 1es-windows-2022-open
43+
demandsName: 1es-windows-2022-open
4444
pool:
4545
name: NetCore-Public
46-
demands: $(demandsName)
46+
demands: ImageOverride -equals $(demandsName)
4747
steps:
4848
- template: azure-pipelines/test.yml
4949

50-
- stage: Test_Omnisharp
51-
displayName: Test Omnisharp
50+
- stage: Test_OmniSharp
51+
displayName: Test OmniSharp
5252
dependsOn: []
5353
jobs:
5454
- job: Test
5555
strategy:
5656
matrix:
5757
linux:
58-
demandsName: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open
58+
demandsName: 1es-ubuntu-2004-open
59+
windows:
60+
demandsName: 1es-windows-2022-open
5961
pool:
6062
name: NetCore-Public
61-
demands: $(demandsName)
63+
demands: ImageOverride -equals $(demandsName)
6264
steps:
6365
- template: azure-pipelines/test-omnisharp.yml

azure-pipelines/test-omnisharp.yml

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,16 @@ steps:
77

88
- template: prereqs.yml
99

10-
- pwsh: |
11-
if ($IsLinux) {
12-
Write-Host "Activating screen emulation"
13-
/usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
14-
$env:DISPLAY=':99.0'
15-
Write-Host "Now running tests"
16-
}
10+
- template: test-prereqs.yml
1711

18-
npm run omnisharptest
12+
- script: npm run omnisharptest
1913
displayName: 🧪 Run unit and integration tests
14+
env:
15+
DISPLAY: :99.0
2016

2117
- task: PublishPipelineArtifact@1
2218
condition: failed()
2319
displayName: 'Upload integration test logs'
2420
inputs:
2521
targetPath: '$(Build.SourcesDirectory)/.vscode-test/user-data/logs'
26-
artifactName: 'VSCode Test Logs ($(Agent.JobName)-$(System.JobAttempt))'
22+
artifactName: 'VSCode Test OmniSharp Logs ($(Agent.JobName)-$(System.JobAttempt))'

azure-pipelines/test-prereqs.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
steps:
2+
3+
# We need to download the roslyn language server for the current platform to run integration tests against it.
4+
- script: gulp installDependencies
5+
displayName: 'Install Roslyn Language Server'
6+
7+
- script: /usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
8+
displayName: 'Activate screen emulation'
9+
condition: eq(variables['Agent.OS'], 'Linux')

azure-pipelines/test.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,12 @@ steps:
77

88
- template: prereqs.yml
99

10-
- pwsh: |
11-
if ($IsLinux) {
12-
Write-Host "Activating screen emulation"
13-
/usr/bin/Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
14-
$env:DISPLAY=':99.0'
15-
Write-Host "Now running tests"
16-
}
10+
- template: test-prereqs.yml
1711

18-
npm run test
12+
- script: npm run test
1913
displayName: 🧪 Run unit and integration tests
14+
env:
15+
DISPLAY: :99.0
2016

2117
- task: PublishPipelineArtifact@1
2218
condition: failed()

baseJestConfig.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
import type { Config } from 'jest';
6+
7+
/**
8+
* Defines a base project config that we can re-use across the project specific jest configs.
9+
* We do this because jest generally does not inherit project configuration settings.
10+
*/
11+
export const baseProjectConfig: Config = {
12+
preset: 'ts-jest',
13+
testEnvironment: 'node',
14+
transformIgnorePatterns: ['/dist/.+\\.js'],
15+
};

jest.config.ts

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,11 @@
55
import type { Config } from 'jest';
66

77
const config: Config = {
8-
verbose: true,
9-
preset: 'ts-jest',
10-
testEnvironment: 'node',
11-
transformIgnorePatterns: ['/dist/.+\\.js'],
12-
// We need to explicity ignore the out directory for modules - otherwise we'll get duplicate vscode module,
13-
// the TS version from the __mocks__ directory and the compiled js version from the out directory.
14-
modulePathIgnorePatterns: ['out'],
15-
// Specify jest to only run tests in jest folders.
16-
// We also have to include the __mocks__ folder. That folder must be next to node_modules so we can't move it,
17-
// but if we specify roots, jest won't automatically pick it up. So we have to specify it here.
18-
roots: ['<rootDir>/test/unitTests', '<rootDir>/omnisharptest/omnisharpJestTests', '<rootDir>/__mocks__'],
8+
projects: [
9+
'<rootDir>/test/unitTests/jest.config.ts',
10+
'<rootDir>/test/integrationTests/jest.config.ts',
11+
'<rootDir>/omnisharptest/omnisharpJestTests/jest.config.ts',
12+
],
1913
};
2014

2115
export default config;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
import type { Config } from 'jest';
6+
import { baseProjectConfig } from '../../baseJestConfig';
7+
8+
export const jestOmniSharpUnitTestProjectName = 'OmniSharp Unit Tests';
9+
10+
/**
11+
* Defines a jest project configuration for O# jest tests.
12+
*/
13+
const omnisharpConfig: Config = {
14+
...baseProjectConfig,
15+
displayName: jestOmniSharpUnitTestProjectName,
16+
// We need to explicity ignore the out directory for modules - otherwise we'll get duplicate vscode module,
17+
// the TS version from the __mocks__ directory and the compiled js version from the out directory.
18+
modulePathIgnorePatterns: ['out'],
19+
// Specify jest to only run tests in jest folders.
20+
// We also have to include the __mocks__ folder. That folder must be next to node_modules so we can't move it,
21+
// but if we specify roots, jest won't automatically pick it up. So we have to specify it here.
22+
roots: ['<rootDir>', '<rootDir>/../../__mocks__'],
23+
};
24+
25+
export default omnisharpConfig;

0 commit comments

Comments
 (0)