Skip to content
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

Provide access to native binaries for CI testing #8691

Open
Colengms opened this issue Jan 19, 2022 · 8 comments
Open

Provide access to native binaries for CI testing #8691

Colengms opened this issue Jan 19, 2022 · 8 comments
Labels
internal Used to opt-out an issue from having GitHub actions applied to it Language Service
Milestone

Comments

@Colengms
Copy link
Collaborator

With the move to platform-specific VSIX's via the marketplace, it's no longer necessary to publish the native binaries as they are no longer downloaded by the extension when first activated. Unfortunately, this also means our CI testing on GitHub no longer has access to those native binaries. Language server integration tests are currently disabled. Opening this issue to track finding an alternative way to provide native binaries that are aligned with the latest version of the code in GitHub, for CI testing.

@Colengms Colengms added Language Service internal Used to opt-out an issue from having GitHub actions applied to it labels Jan 19, 2022
@Colengms Colengms added this to the On Deck milestone Jan 19, 2022
@benmcmorran
Copy link
Member

@microsoft/embedded-dev is also interested in whatever approach you come up with to share these files. It's currently impacting our automated testing, but for now we have an easy workaround by pinning to 1.8.1.

@EricHripko
Copy link

We found published .vsix really useful to pre-download the extension in the container image (for Remote - Containers) instead of having the containers do it on activation. It would be great if this functionality was recovered 🙂

@sean-mcmanus
Copy link
Collaborator

sean-mcmanus commented Feb 24, 2022

@EricHripko Are you able to just get the .vsix from the marketplace (https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)? If necessary, it seems like you could also self-host that somewhere. The only thing we stopped doing is uploading the vsix's on our Releases page (to minimize our manual release process steps).

image

@Colengms
Copy link
Collaborator Author

Colengms commented Feb 25, 2022

Note that this issue is tracking providing internal builds of cpptools.exe and cpptools-srv.exe for automated CI tests of this repo specifically. We often need to make corresponding changes in both the native and TypeScript components. We need a way to acquire the matching native binaries under development to enable testing of the TypeScript component under development. This issue should only impact internal development of the C/C++ extension.

Users who want to clone the repo should use the release or insiders branch and can acquire native binaries from the corresponding published VSIX. Documentation on how to do this was recently updated here. (Thanks to @hamirmahal for updating that document.)

@EricHripko
Copy link

Ah sorry for my misinterpretation of this issue @Colengms. I'm happy to submit a new issue if that's desired.

@sean-mcmanus I seem to be able to download the VSIX from https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-vscode/vsextensions/cpptools/<version>/vspackage?targetPlatform=linux-x64 provided I know what the latest version is already. With GitHub, I was able to do https://github.com/microsoft/vscode-cpptools/releases/latest/download/cpptools-linux.vsix. Is there a way to do a similar thing with VSC Marketplace as well?

@sean-mcmanus
Copy link
Collaborator

@EricHripko Were you interested in the latest Pre-Release/Insiders (i.e. 1.9.1) or the latest Release (i.e. 1.8.4)?

@EricHripko
Copy link

@sean-mcmanus the latter (latest stable release).

@sean-mcmanus
Copy link
Collaborator

We post a page for the latest stable release as https://github.com/microsoft/vscode-cpptools/releases/latest , which currently resolves into https://github.com/microsoft/vscode-cpptools/releases/tag/1.8.4 , even though it doesn't have any vsix attachments. Are you able to query that to get the latest 1.8.4 version to use in the marketplace URLs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal Used to opt-out an issue from having GitHub actions applied to it Language Service
Projects
None yet
Development

No branches or pull requests

4 participants