-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pin and test all vscode packages #899
Conversation
this commit adds a new testing mode whereby the extension is tested against the stated minimum vscode compatibility this test fails in this commit due to a minimum @types/vscode requirement of the lsp packages that breaks during runtime Signed-off-by: Lukas Bockstaller <lukas.bockstaller@posteo.de>
the compatibility tests (and using the plugin with any version <1.82.0) currently fails with Error: The language client requires VS Code version ^1.82.0 but received version 1.63.1 This commit pins the versions so that doesn't occur anymore. Rationale for the versions: We need at least @types/vscode=~1.67.0 to use the newer client start api: const client: LanguageClient = ...; await client.start(); instead of const client: LanguageClient = ...; client.start(); await client.onReady(); and the LanguageClient#dispose method. But @types/vscode=~1.67.0 has an issue where running tests modifies the package.json (microsoft/vscode#148975) which is fixed in ~1.71.0. The LSP packages are then selected to keep backwards compatibility with ~1.71.0 Signed-off-by: Lukas Bockstaller <lukas.bockstaller@posteo.de>
Signed-off-by: Lukas Bockstaller <lukas.bockstaller@posteo.de>
I am very sorry for introducing this much turmoil into your release process. Having this test would have caught the issues earlier |
Signed-off-by: Zabil Cheriya Maliackal <zabilcm@gmail.com>
@bockstaller Thank you for contributing to gauge-vscode. Your pull request has been labeled as a release candidate 🎉🎉. Merging this PR will trigger a release. Please bump up the version as part of this PR.Instructions to bump the version can found at CONTRIBUTING.md If the CONTRIBUTING.md file does not exist or does not include instructions about bumping up the version, please looks previous commits in git history to see what changes need to be done. |
Hope you don't mind me pushing a commit ee8a8f4 To remove references as a part of this PR. Please feel free to bump up the version. I've marked this PR as a release candidate and hopefully this time the plugin will published on merge 🤞 |
Signed-off-by: Lukas Bockstaller <lukas.bockstaller@posteo.de>
Otherwise, I wouldn't activate the option 👍 |
Can you please summarise the reason for the major changes here, i.e what the reason for needing to bump to For example, right now there are mixed versions of More relevant again, it seems the project shouldn't be declaring direct dependencies on multiple of these libraries and should just be using |
Regarding the selection of minimum version. From f95c9db
I selected the oldest compatible vscode version as the base for compatibility as it excludes as few clients as possible. Regarding the direct dependencies. I am able to remove them by changing some imports |
…-protocol Signed-off-by: Lukas Bockstaller <lukas.bockstaller@posteo.de>
Signed-off-by: Lukas Bockstaller <lukas.bockstaller@posteo.de>
I suppose so.
I'm not sure that is strictly necessary since you can import from a transitive, but OK |
Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
Signed-off-by: Chad Wilson <chadw@thoughtworks.com>
2f89df8
to
3834972
Compare
This is published now as |
As mentioned by @chadlwilson, vscode and the associated LSP projects aren't adhering to semver.
Mismatching
@types/vscode
andengines['vscode']
versions are caught by the build process.This isn't the case for a
engines['vscode']
value that is lower than the@types/vscode
version required byvscode-jsonrpc
,vscode-languageclient
, andvscode-languageclient-protocol
.Starting the plugin with a "compatible" vscode version (according to
engines['vscode']
) will fail during runtime with the following errorError: The language client requires VS Code version ^1.82.0 but received version 1.63.1.
What
This PR adds:
npm run compatibilityTest
, which executes the test suite using the minimum vscode version specified in package.json. This is kept separate in order to avoid doubling test execution time locally. (The failure mode looks like this)npm run compatibilityTest
in thevscode.yaml
github actionsrc/protocol/gauge.proposed.ts
andsrc/gaugeWorkspace.proposed.ts