Commit Graph

424 Commits

Author SHA1 Message Date
Josh Spicer
9595934bdb Generate macOS configuration profiles (#241773)
* generate configuration policy and manifests

* add darwin pipeline job

* argument for per-platform generation of policy

* adopt argument in pipeline

* formatting tweaks in generated profile (+ check in .js file)

* tidy up output plists

* copy policy definitions

* implement the remaining renderProfileValue()

* remove unnecessary platform option

* copy to .app in vscode-darwin-$PLATFORM-min-ci gulp task

* add darwinProfileUUID and darwinProfilePayloadUUID to product.json

* better way to package in gulp script

* bump distro commit (c3ec5ba485)

* Add bundles policy paths to macOS universal build 'filesToSkip'

Needs this when creating universal macOS app:

Expected all non-binary files to have identical SHAs when creating a universal build
but "Contents/Resources/app/policies/cs-cz/com.microsoft.VSCodeInsiders.plist" did not

See:
298a872f5f/src/index.ts (L163-L172)
2025-03-13 17:12:25 -07:00
Robo
cad433cd6c ci: debug flaky asset_id step in macOS sign stage (#240558) 2025-02-13 15:54:57 +09:00
Robo
9df979cc9a ci: fix installation of build dependencies (#239290)
* ci: fix installation of build dependencies

* ci: add missing quality parameter
2025-01-31 09:27:39 +00:00
João Moreno
dfe78a1fb9 use WIF for Codesign (#233908)
* use WIF for Codesign

* fix indentation

* fix tasks
2024-11-15 22:16:31 +01:00
João Moreno
0244c5edf7 move to new esrp service connection (#233591) 2024-11-11 12:52:05 -08:00
João Moreno
a46559966e move to new service connection, remove deprecated storage account upload (#233191) 2024-11-06 14:57:38 +01:00
Alex Ross
e6f2cc2f0a Add an easy way to run performance tests for tree-sitter (#233072)
* Add an easy way to run performance tests for tree-sitter
Part os #210475

* Compile build folder
2024-11-05 15:35:58 +01:00
Robo
51cfc9ece4 ci: add checks to verify mach-o objects architecture (#230598) 2024-10-05 12:27:10 -07:00
Robo
8422282f04 chore: update to Electron 32 (#218245)
* chore: update electron@31.0.1

* chore: bump electron@31.1.0

* chore: update sysroot download url

* chore: bump electron@31.3.0

* chore: update rpm deps for arm64

* chore: bump electron@31.4.0

* chore: bump electron@32.0.0

* fix: compile stage

* fix: install on windows

* fix: override node-addon-api to support c++20 with gcc-11

Brings in fed13534c5
to support compilation with gcc>=11

* ci: use gnu++2a for gcc <=9

* ci: fix sdl pipeline

* ci: web stage

* ci: fix alpine stage

* ci: fix legacy server stage

* fix: node-addon-api resolution for remote

* ci: fix legacy arm stage

* chore: sync npm dependencies

* chore: bump electron@32.0.1

* ci: fix monaco editor checks

* ci: fix legacy server stage

* ci: possible concurrent execution

* ci: use foreground scripts on windows

* chore: bump electron@32.0.2

* fix: compilation

Refs 204011c3f2

* Revert "wco - hardcode devtools location on Linux (#227084)"

This reverts commit dfb96d11d3.

* chore: bump electron@32.1.2

* ci: remove workaround for missing c++20 flags

* ci: use gnu++2a for gcc <=9

* chore: bump distro

* ci: use gnu++17 for legacy arm servers

* fixup! override node-addon-api to support c++20 with gcc-11

Scope to only the affected package versions

* chore: bump @vscode/policy-watcher

* chore: bump @vscode/sqlite3

* chore: bump node.js v20.17.0

* chore: bump distro

* chore: update @vscode/windows-ca-certs

* chore: update builds for electron@32.1.2

* chore: bump distro

* chore: bump dependencies

* ci: fix arm legacy servers
2024-10-04 19:19:06 +09:00
Johannes
6e4221f0ec remove swc 2024-10-04 11:23:51 +02:00
Benjamin Pasero
332b89f198 esm - remove AMD build scripts, tests and variables 2024-09-27 08:04:01 +02:00
Robo
b5a6aa14a8 feat: switch to npm as default package manager (#226927)
* feat: move from yarn to npm

* chore: skip yarn.lock files

* fix: playwright download

* chore: fix compile and hygiene

* chore: bump vsce@2.17.0

Refs 8b49e9dfdf

* test: update results for bat and sh colorizer tests

* fix: add missing lock files for windows

* fix: switch to legacy-peer-deps

* chore: update markdown-it@14.1.0

Refs 737c95a129

esbuild step in extensions-ci-pr was previously using markdown-it
from root which had userland punycode and was able to compile successfully.

* ci: increase pr timeout for windows integration tests

* chore: fix product build

* build: ignore extension dev dependency for rcedit

* build: fix working directory inside container

* build: fix dependency generation

* npm: update dependencies

* ci: use global npmrc

* ci: update cache

* ci: setup global npmrc for private npm auth

* build: fix extension bundling

* chore: sync npm dependencies

* ci: debug env variables for container

* ci: fix win32 cli pipeline

* build: fix npmrc config usage for build/ and remote/ dirs

* fix: windows build

* fix: container builds

* fix: markdown-language-features tests and bundling

```
[03:58:22] Error: Command failed: /Users/demohan/.nvm/versions/node/v20.15.1/bin/node /Users/demohan/github/vscode/extensions/markdown-language-features/esbuild-notebook.js --outputRoot /Users/demohan/github/vscode/.build/extensions/markdown-language-features
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds userland package based on beed9aee2c

* fix: container builds for distro

* chore: update yarn occurrences

* fixup! chore: bump vsce@2.17.0

Uses the closest version to `main` branch that does not
include d3cc84cdec
while still having the fix 8b49e9dfdf

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: throw error when yarn is used for installation

* chore: add review feedback

* chore: switch exec => run where needed

* chore: npm sync dependencies

* fix: markdown-language-features bundling

```
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds missing userland package based on markdown-it/markdown-it@beed9ae,
can be removed once we update markdown-it >= 14.1.0

* ci: rename no-yarn-lock-changes.yml

* chore: sync npm dependencies

* ci: restore no-yarn-lock-changes.yml

We can disable it in a separate PR to keep the required
checks happy and also need workflow edit perms.

* chore: sync npm dependencies

* ci: rebuild cache

* ci: fix no-package-lock-changes.yml

* chore: bump distro

* chore: rm yarn.lock files

* chore: rm yarn.lock files without dependencies

* chore: add vscode-selfhost-import-aid to postinstall dirs

* chore: bump distro
2024-09-06 22:18:02 +09:00
Kevin Cui
d1eab2bcf4 ci: ensure retry logic consistency (#226038)
Related PR: #171489

Signed-off-by: Kevin Cui <bh@bugs.cc>
2024-09-04 04:51:19 +00:00
Ladislau Szomoru
310f0a3d85 Engineering - upgrade AzureKeyVault task (#227191) 2024-08-30 11:10:44 +02:00
Benjamin Pasero
6b924c5152 ESM merge to main (#227184)
Co-authored-by: Johannes Rieken <jrieken@microsoft.com>
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
2024-08-30 10:31:46 +02:00
Benjamin Pasero
c3819e438c esm - pass build variable around properly (#225724) 2024-08-16 09:24:34 +02:00
Benjamin Pasero
02fcc994ac esm - port over unit test changes (#225711) 2024-08-15 19:58:52 +02:00
Robo
d288df1a9b chore: update kerberos@2.1.1 (#225101)
* Revert "Revert "chore: bump kerberos" (#225084)"

This reverts commit 9af3636703.

* build: avoid dlopen kerberos deps on macOS

* ci: update cache

* chore: update rpm and deb dependencies
2024-08-08 07:30:03 +02:00
Robo
c06242b744 ci: enable nodejsMirror (#221696) 2024-07-15 02:11:34 -07:00
Matt Bierner
7174171947 Move MD server into own package (#212387)
* Move MD server into own package

* Remove a few more refs

* Try glob

* Move glob

* More glob

* Add logging

* Tweak glob again

* Use webpack to copy over files

* Remove a few more refs to server

* Fix debug check
2024-07-12 14:04:42 -07:00
Robo
2fe0527205 chore: update to electron 30 (#215406)
* chore: update electron@30.0.9

* chore: update rpm deps

* chore: bump electron@30.1.2

* fix: update kerberos for Node.js 20.x

Refs c1f7acafb2

* fix: use shell when spawning .bat or .cmd files

Refs https://github.com/nodejs/node/commit/6627222409

* fix: update @vscode/test-electron@2.4.0

Refs 3f7a3cc5c5

* fixup! use shell when spawning .bat or .cmd files

* chore: bump nodejs@20.14.0 internal build

* ci: skip nodejsMirror for 20.14.0 due to missing builds

* fixup! use shell when spawning .bat or .cmd files

* chore: update debian deps

* fixup! skip nodejsMirror for 20.14.0 due to missing builds

* fix: universal build

- Updates vscode-universal-bundler to support x64ArchFiles option
- Kerberos starts building universal binaries which should now be
  skipped from lipo step via x64ArchFiles
- Skips bundling *.mk files

* chore: bump distro
2024-07-09 14:33:22 +09:00
Robo
796dfbb6ea chore: rm unused dyld entitlement and env variable filtering (#220059) 2024-07-05 13:29:04 +02:00
Robo
63e93de608 fix: use xcode >= 15.1 to address broken builds on macOS <= 12 (#219991) 2024-07-04 19:00:07 +02:00
Robo
5216c04428 chore: update to electron 29 (#209818)
* chore: update electron@29.1.0

* chore: update typings to 20.x

* chore: bump electron@29.1.5

* ci: fix crash in compiling extensions-ci

* chore: disable .d.ts check for build/

$ ../node_modules/.bin/tsc -p tsconfig.build.json
node_modules/@types/chokidar/index.d.ts:21:14 - error TS2420: Class 'import("/Users/demohan/github/vscode/build/node_modules/@types/chokidar/index").FSWatcher' incorrectly implements interface 'import("fs").FSWatcher'.
  Type 'FSWatcher' is missing the following properties from type 'FSWatcher': ref, unref

21 export class FSWatcher extends EventEmitter implements fs.FSWatcher {
                ~~~~~~~~~

node_modules/chokidar/types/index.d.ts:8:14 - error TS2420: Class 'import("/Users/demohan/github/vscode/build/node_modules/chokidar/types/index").FSWatcher' incorrectly implements interface 'import("fs").FSWatcher'.
  Type 'FSWatcher' is missing the following properties from type 'FSWatcher': ref, unref

8 export class FSWatcher extends EventEmitter implements fs.FSWatcher {
               ~~~~~~~~~

Found 2 errors in 2 files.

Errors  Files
     1  node_modules/@types/chokidar/index.d.ts:21
     1  node_modules/chokidar/types/index.d.ts:8

Refs a0f9e09f64

* chore: update core types

* temp: fix layer validation

* chore: update nodejs checksums

* ci: use latest v20 LTS for missing node-gyp

Refs eacec5f490

* ci: define LIBCPP_HARDENING_MODE

* ci: fix crash in vscode-web-min-ci

* chore: update rpm deps-list

* chore: bump tree-sitter-typescript@0.20.5

* chore: bump electron@29.3.0

* chore: bump electron@29.3.1

* chore: update rpm deps-list for x86_64

* ci: disable io_uring UV backend on linux

* ci: disable io_uring backend for oss as well

* chore: update typings to 20.x

* ci: add TODO for io_uring workaround

* chore: bump distro

* chore: update preinstall node version checks

* chore: update @types/gulp

Refs https://github.com/microsoft/vscode/issues/212442

* ci: disable io_uring in more test suites
2024-05-11 01:20:28 +09:00
João Moreno
e5515ac702 Adopt 1ES PT (#207844)
* extend 1es pipeline template

* oops

* fix template references

* argh

* hmm

* hm

* hm

* use outputs for compilation artifact

* this

* use 1ES.PublishPipelineArtifact@1 instead of publish

* more 1ES.PublishPipelineArtifact@1 adoption

* provide windows pool for sdl sources

* sdl

* fix pools

* fix macos

* disable sbom for intermediate artifacts

* use mariner linux

* try inline tsa options

* fix credscan

* hm

* sudo it

* more suppressions

* be explicit with SBOM build drop paths

* fix indentation

* fix file extensions

* fix cli sbom build drop paths

* fix more build

* fix unzip cli

* careful with _manifest in artifacts

* do not close file

* add logging

* debug

* use snapcraft container

* remove size check

* fix macos cli step

* fix snap permissions

* fix macos

* better logs

* fix snap

* more cred scan suppressions

* even more supressiong

* alpine-arm64: try using x64

* Revert "alpine-arm64: try using x64"

This reverts commit bf2003bf60.

* test docker

* I wonder

* logs

* hm

* fix indentation

* hm

* hm

* fix snap finds

* remove auth

* use hostArchitecture

* snap: limit find

* hm

* sudo

* Add validateToolOutput: None to the build pipeline

* bring back sdl-scan

* try all tools: true

* use release

* Update Azure Pipelines YAML file for Linux product build and test

* hm

* hm

* same for win32

* hm

* hm

* Revert "hm"

This reverts commit 1b9dcae85b.

* use branch

* fix template file

* fix template paths
2024-03-21 14:16:32 +01:00
Connor Peet
7e2981e8a6 eng: fix missing VSCODE_CHECK_ONLY in CLI publish step (#203926) 2024-01-31 21:25:26 +01:00
Connor Peet
3ad2e082c5 eng: group cli build vs publish steps (#203920)
Fixes #203871
2024-01-31 11:22:50 -08:00
João Moreno
0b111a09a1 Publish to new CDN (#198154) 2023-11-16 07:19:59 +01:00
Connor Peet
9934a6b4ef cli: bump openssl (#197404) 2023-11-03 21:32:30 +01:00
Ladislau Szomoru
40cdc5cb1f Engineering - Add Python setuptools installation (#197341) 2023-11-03 11:44:29 +01:00
João Moreno
417e17038c Use NodeJS mirror for more reliable downloads (#196038)
get node from mirror
2023-10-20 09:53:57 +02:00
Raymond Zhao
880cb517e1 Add more SBOMs (#195736) 2023-10-17 15:55:55 -07:00
Rob Lourens
7d4027b62b Test using nvmrc in CI (#194836)
* Test using nvmrc in CI

* Force run yarn

* fix

* Bump nvmrc to latest

* Revert "Force run yarn"

This reverts commit af741f37d5.

* Make all jobs use node from nvmrc
And install node-gyp where needed
2023-10-04 19:08:50 -07:00
Rob Lourens
8ee50f2e21 Fix the rest of the node version references (#194677) 2023-10-03 00:55:32 +01:00
Christof Marti
a6b9e7c28b Make sure node-gyp is installed (#194494) 2023-09-29 17:33:44 +01:00
Connor Peet
17015750a3 cli: update openssl (#192825)
* cli: update openssl

* make multi-threaded

* use mt windows versions
2023-09-12 00:44:14 +02:00
Connor Peet
52840e3ca5 cli: cleanup build (#190213)
- 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
2023-08-10 20:14:30 -07:00
Robo
ea490e5545 chore: update to Electron 25 (#188268)
* chore: update electron@25.3.0

* ci: update NodeTool version

* chore: update @types/node

* add more common types to layers checker

* chore: update debian dependencies

* chore: update rpm dependencies

* fix: use legacy dns result order of Node.js

* ci: remove deprecated always-auth npm config

Refs npm/cli@72a7eeb

* chore: update deb and rpm dependencies

* chore: update armhf rpm dependencies

* chore: update x64 debian dependencies

* chore: update x64 rpm dependencies

* chore: update electron@25.3.1

* chore: update electron@25.4.0

* chore: bump distro

* chore: bump distro

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2023-08-07 21:46:27 +09:00
Benjamin Pasero
82ced13b61 Retry playwright installs (fix #188453) (#188646) 2023-07-24 08:58:11 +02:00
João Moreno
6bad769697 make sure publishing is the last thing in each pipeline (#187708)
this fixes a rare issue in which the second Generate SBOM
task will fail, so a second attempt at running the pipeline will
fail when publishing the first Publish SBOM task, since it
would already have been published
2023-07-12 14:36:51 +02:00
João Moreno
6d1066875e isolate artifacts from attempted runs (#187437)
* isolate artifacts from attempted runs

* set ARTIFACT_PREFIX to empty string first

* cleaner
2023-07-10 16:15:29 +02:00
João Moreno
0917209e9a Always publish build artifacts, if built (#187134)
* always publish build artifacts, if built

fixes #187122

* fix windows build

* fix builds

* fix

* more fixes

* further debug

* fix yarn

* remove debug

* remove 7zip dependency

* fix snap
2023-07-07 11:45:35 -07:00
Rob Lourens
7f5de39970 Delete old settings search config uploader (#185818) 2023-06-21 17:15:31 -07:00
Connor Peet
43742d891d Run a lint build of the CLI in CI (#184545)
* cli: adopt sccache for speedier cli compilations

* only cache common linux x64 build

* instead, only dev compile/clippy lint in ci
2023-06-07 15:48:55 -07:00
Aaron Munger
5c7b2b89fe add project to build, add integration tests into shell script 2023-06-05 14:19:51 -07:00
Connor Peet
eb44b5ef6c build: don't apply cli 'patches' for merge check (#184210)
* 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
2023-06-02 22:29:48 +02:00
Connor Peet
be433ac136 build: install packages for distro mixin (#184207) 2023-06-02 21:44:18 +02:00
Connor Peet
78643b05d5 cli: bump to openssl 1.1.1u (#183828) 2023-05-30 20:44:56 +02:00
Robo
75e38cd91d chore: remove library entitlements from main helper executable (#182731) 2023-05-17 10:35:11 +02:00
João Moreno
14ea89e7ca build: quieter node module cache logging (#180709) 2023-04-25 08:26:56 +02:00