microsoft / microsoft/vscode-cpptools

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

Open
#9,681 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

internal Language Service
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

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).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names the cpptools VSIX Release pipeline but no files or tests; start by locating that pipeline and reviewing its target-platform agents. Done means the TypeScript component is built separately on each target platform, including ARM64 Mac support or an available replacement agent.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, typescript
Domain
build-system, ci-cd, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.