* WIP - fold sign steps into the jobs
* Speed up compilation
* Add back tasks
* Remove tasks that are not needed
* Update folder
* Fix universal job
* More work
* Improve script
* Improve logging
* More logging tweaks
* Another fix for the script
* Add back CLI job and run tests
* Fix pipeline condition
* Move testing to the ARM64 stage
* Update Codesign task names
* Run tests after publishing unsigned packages
* Background codesign
* Use bash when running background signing
* Another attempt
* Add error handling to script
* Add more logging
* .
* Pull request feedback
* More feedback
* Remove signature verification condition
* Delete tasks that are not needed
* Fix task display name
* Use VSCODE_ARCH parameter
* Update task display name
* Exclude Windows setup files from BinSkim
* Debug: Scan everything but with TSA off
* Narrow analyzeTargetGlob
* Scan node and DLL files as well
* Try excluding BinSkim from CustomSDL
* Re-enable TSA
* Clean up
* Rename CustomSDL stage and job
* fix: revert glibc requirements for tunnel cli
* chore: address feedback on wording
* fix: only store state when user allows the prompt
* chore: update checksums for sysroot
* fix: store connection choice per distro
* update rpm deps-list
---------
Co-authored-by: Connor Peet <connor@peet.io>
* cli: use terrapin for cli builds
* update rust to 1.70 to allow ado artifacts feed on windows
* apparently manaul cargo login is required
* use msrustup
* rustup is no longer user
* update to 1.73
* add rust oss install
- Remove the `prepare` script entirely
- Variables are now populated from the product.json during build. Most
variables are mapped automatically, with some special handling in a
few cases. `build.rs` is now much more self-contained.
- Look for the `product.overrides.json` for vscode developers instead of
looking for a peer `vscode-distro` folder
Fixes#178691
* build: don't apply cli 'patches' for merge check
This also needed modules installed. But with the new toml patches, the 'merge' will never fail outright, so there's no need to do a separate merge check for it imo
* reduce duplication in pipelines, cache node_modules
* cli: store cli in user data dir, separate per quality
Fixes#181017
On first run, the `~/.vscode-cli` will be migrated inside the user data dir of the currently running quality.
* use create_dir_all instead
* clippy fixes
* Simplify distro
Also a ton of drive-by fixing around builds:
- simplified many oneliners
- fixed missing custom npm registry call setups
- remove unnecessary and duplicate work during builds
- many many fixes
A fully-functioning CLI with tunnel capabilities requires product-specific
configuration that is not included in the OSS. This change has the CLI's build
script automatically look for a peer `vscode-distro` folder and, in a debug
build, set its build variables based on that.
It also works to set correct variables if vscode-distro is not found, based on
the OSS product.json (though this is not sufficient to run a fully fledged
tunnel.)