vscode-cpptools icon indicating copy to clipboard operation
vscode-cpptools copied to clipboard

Update VSIX release process to build TypeScript component on each native platform instead of all from the same host

Open Colengms opened this issue 3 years ago • 4 comments

Currently, cpptools' TypeScript component does not have any platform-dependent dependencies. The Release pipeline for the cpptools VSIX builds the TypeScript component for each platform from the same (Windows) host. That prevents us from introducing any platform-dependent dependencies, as they would be built for Windows and not the actual target platform.

This is preventing us from using the following dependencies, requiring us to work around these needs with non-ideal solutions:

  • wordexp (requiring us to deploy our own cpptools-wordexp utility)
  • node-pty (requiring us to add arguments to gcc and clang build tasks to force output colorization)

This issue is tracking updating our Release pipeline to build the TypeScript component separately on each target platform.

I believe this is blocked until Azure DevOps can provide ARM64 Mac support (or we can get an ARM64 Mac added back into our pool).

Colengms avatar Aug 03 '22 21:08 Colengms

What about Windows/Linux ARM and Alpine? Would we have to build on those OS's as well instead of cross-compiling?

sean-mcmanus avatar Aug 04 '22 17:08 sean-mcmanus

@sean-mcmanus We have the ability to build for ARM and ARM64 Linux (using Docker and processor emulation), but you may be right about needing ARM64 Windows support in the lab in addition to ARM64 Mac support.

node-gyp looks like it might provide a cross-compile solution, but I assume that would require target toolsets on the host.

Colengms avatar Aug 04 '22 18:08 Colengms

This could be easily addressed once Mac M1, Linux ARM64, and Windows ARM64 VMs are available for Azure Pipelines. Bugs tracking those are here: Mac M1: https://github.com/actions/runner-images/issues/2187 Linux ARM64: https://github.com/actions/runner-images/issues/5631 Windows ARM64: https://github.com/actions/runner-images/issues/6532 (Duplicated to itself. Trying to follow up.)

Colengms avatar Apr 27 '23 01:04 Colengms