iotaledger / iota

Apache License 2.0
17 stars 8 forks source link

[move-ide] Integrate the VSCode extension build(and test?) into the CIs #3818

Open valeriyr opened 3 weeks ago

valeriyr commented 3 weeks ago

The extension should be built on the CI in case the external crates are changed and should be a part of the release assets.

I set the question mark if we need to run the extension tests on CI because they download and launch a Visual Studio Code instance. The tests act as a basic smoke integration check if the extension runs and works on the real IDE instance.

Originally the extensions for all the supported platforms are built by the ./external-crates/move/crates/move-analyzer/editors/code/scripts/create.sh script that downloads the specified release archive and builds the extensions for this version.

A manual on how to build and test the extension locally can be found on Confluence: https://iotafoundation.atlassian.net/wiki/spaces/DMBL/pages/2293760002/Visual+Studio+Code+Move+Extension

Thoralf-M commented 5 days ago

Any idea what to do if npm run test results in this error?

Activating extension 'iota-foundation.iota-move' failed: DialogService: refused to show dialog in tests. Contents: Pre-built move-analyzer binary is not available for this platform. Follow the instructions to manually install the language server in the README file accompanying Move VSCode extension by IOTA Foundation in the VSCode marketplace.
valeriyr commented 2 days ago

Any idea what to do if npm run test results in this error?

Activating extension 'iota-foundation.iota-move' failed: DialogService: refused to show dialog in tests. Contents: Pre-built move-analyzer binary is not available for this platform. Follow the instructions to manually install the language server in the README file accompanying Move VSCode extension by IOTA Foundation in the VSCode marketplace.

I think it happens because there is no analyzer binary in the following folder but it is expected:

~/.iota/bin
Thoralf-M commented 2 days ago

Thanks, actually saw this before and created this folder, just didn't properly copy into it 😅 Works now