Commit Graph

77 Commits

Author SHA1 Message Date
Dmitriy Vasyura
13a3f8011b Remove dismissing of the trust dialog since workspace is now untrusted by default (#321854) 2026-06-17 18:19:30 -07:00
dependabot[bot]
d6e32e2dd5 Bump js-yaml from 4.1.1 to 4.2.0 in /test/sanity (#321695)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.2.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/commits)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-17 01:07:01 +00:00
Robo
994891784e fix: bump shared memory to support software compositor allocation pressure (#319508)
fix: bump shared memory to support software compositor from Electron 42
2026-06-01 21:34:55 -07:00
Robo
18d58f4bd4 ci: add support for crash dumps from sanity pipeline (#319498)
* ci: add support for crash dumps from sanity pipeline

* chore: fix artifact ownership
2026-06-02 12:39:42 +09:00
Robo
f9c62da9f7 build: clamp PT_LOAD p_align to 4 KiB on linux-x64 node binary (#319355)
Node.js 23/24 linux-x64 build ships a dedicated `lpstub` PT_LOAD segment
aligned to 2 MiB (0x200000) so that, at startup the binary can remap its
.text region onto Linux hugepages for an iTLB win `--use-largepages=mode`.

WSL1 `binfmt_elf` strictly rejects any PT_LOAD whose `p_align`
exceeds the system page size (0x1000); the kernel returns ENOEXEC and the
shell reports "exec format error" before user space ever runs. This breaks
launching the bundled Node from the VS Code server under WSL1 starting
with Node 24.

The fix does not change runtime behavior:

  - Node is a non-PIE EXEC binary with fixed virtual addresses
    (`p_vaddr`, `p_paddr`); the loader maps each PT_LOAD at its
    hard-coded address regardless of `p_align`, which on EXEC is
    metadata describing alignment in memory rather than a request to
    relocate.
  - The hugepage optimization itself is performed at runtime
    against the live mapping; it does not consult `p_align` and
    is unaffected by this change.
  - No shared libraries, native addons, or dynamic linker paths are
    touched — only PT_LOAD segments inside the node executable itself.
2026-06-01 10:38:04 -07:00
Bryan Chen
4bb3abbbf5 Make Linux desktop sanity tests robust to mid-test failures (#318850)
The Linux desktop sanity tests (deb/rpm/snap) ran cleanup unconditionally
after `testDesktopApp` without a try/finally, so when that step threw
(e.g. extension install flake tracked in microsoft/vscode-engineering#2877)
the uninstall step was skipped. Mocha then retried the test, the install
step hit `package code-insiders is already installed`, and the retry
masked the real failure with a misleading error
(microsoft/vscode-engineering#2878).

Fix:
- Wrap install/test/uninstall in try/finally so cleanup runs even when
  the test body throws.
- Make the uninstall helpers idempotent by detecting whether the package
  binary exists; this lets the finally block run safely even if install
  itself fails (and avoids double-uninstall on the happy path).
- Add a pre-install assertion to each install helper that fails fast
  with a clear diagnostic when the package is already present, so any
  leftover state from a prior killed run surfaces as a real bug pointing
  at the prior failure instead of as a confusing `rpm -i` /
  `dpkg -i` / `snap install` error.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 16:41:25 -07:00
Bryan Chen
7c3a00e043 Improve install extension failure diagnostics in sanity test (#318792)
Recurring transient failures of the desktop-linux-arm64 sanity test
surface only as 'Failed to install extension after 3 attempts' with no
context. This makes diagnosis hard.

- Carry the last per-attempt failure message into the final thrown error
- Capture a screenshot on each failed install attempt
- Log any visible Marketplace message during failed install attempts
- Add a 5s backoff between install retries

Refs microsoft/vscode-engineering#2877

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 10:59:00 -07:00
Robo
8748be1f1a feat: update to Electron v42 (#316661)
* feat: update to Electron v42

* chore: drop support for arm 32-bit server

* chore: update types/node to v24.x

* chore: temporarily lock the target version for build/

* chore: update v8-source-location.patch

* chore: fix clippy

* chore: cleanup armhf server ci config

* fix: broken lock file

* fix: c++ version requirement for sysroot builds

* fix: msvc compilation of native modules

* fix: handle rejections for fire-and-forget loadurl

* fix: windows build

* ci: fix teardown of daemon process on windows

```
2026-05-15T20:55:09.7717127Z Assertion failed: !(handle->flags & UV_HANDLE_CLOSING), file src\win\async.c, line 76
```

* chore: update deb and rpm dependencies

* chore: update version info

* spec: improve reliablity of offscreencanvas tests

* spec: retry EPERM failures on teardown

* chore: update x86_64 rpm deps

* ci: exclude server binskim for armhf

* temp: bump distro

* test: ignore deprecation warnings treated as errors

* chore: update lockfile

* fix: externalize electron from auth extension bundles

 Error: Cannot find module 'c:\Users\cloudtest\AppData\Local\Temp\vscode-sanityQvCaze\vscode-server-win32-x64-web\extensions\github-authentication\dist\install.js'
     at Module._resolveFilename (node:internal/modules/cjs/loader:1476:15)
     at wrapResolveFilename (node:internal/modules/cjs/loader:1049:27)
     at defaultResolveImplForCJSLoading (node:internal/modules/cjs/loader:1073:10)
     at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1094:12)
     at Module._load (node:internal/modules/cjs/loader:1262:25)
     at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
     at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)
     at node:internal/main/run_main_module:33:47 {
   code: 'MODULE_NOT_FOUND',
   requireStack: []
 }

 Node.js v24.15.0

* test: make wsl sanity tests reliable

* chore: bump electron@42.1.0

* temp: bump distro

* chore: bump electron@42.2.0

* chore: bump distro

* chore: update debian dependencies

* Revert "test: make wsl sanity tests reliable"

This reverts commit b3f2b63e83.

* test: do not fail for deprecation warnings

* chore: patch node24 server binary for wsl1

* chore: address review feedback

* chore: revert global navigation error handler in browserview

* chore: bump distro
2026-05-27 14:57:41 +02:00
dileepyavan
42f75324c5 Fixing build failures due to missing version info for MXC bin content (#318144)
* Exclude MXC SDK catalog manifests from Authenticode checks

* Exclude MXC executables from VersionInfo sanity check

* Exclude MXC bin from VersionInfo sanity check
2026-05-24 06:20:00 +00:00
dileepyavan
b86c170235 Exclude MXC executables from VersionInfo sanity check (#318077)
* Exclude MXC SDK catalog manifests from Authenticode checks

* Exclude MXC executables from VersionInfo sanity check
2026-05-23 01:13:34 -07:00
dileepyavan
6371fe882e Exclude MXC SDK catalog manifests from Authenticode checks (#318056) 2026-05-22 22:24:18 +00:00
Henning Dieterichs
c4471e24fa Adopt @vscode/ripgrep-universal (inline binaries, no postinstall)
Replace @vscode/ripgrep with @vscode/ripgrep-universal which bundles all platform binaries in a single package. Non-target platform binaries are stripped at packaging time via getRipgrepExcludeFilter.

- Add shared rgDiskPath() helper in src/vs/base/node/ripgrep.ts
- Convert all ripgrep consumers to use the async helper
- Add getRipgrepExcludeFilter for build packaging
- Update prepareBuiltInCopilotRipgrepShim for new bin layout
- Update eslint allowed-modules and require-interceptor aliases
- Fix platform mapping for Alpine + armhf
- Handle arch-specific binaries in macOS universal build / verify-macho
2026-05-18 18:46:04 +02:00
Ben Villalobos
9f249ca6dd Reduce sanity-test mocha retries from 3 to 1 (#316709)
Per discussion in today's engineering infra sync, drop the mocha-level retry count on the two sanity-test runners from 3 to 1. A single retry is enough to absorb transient flakes without masking real regressions or significantly inflating runtime when a test is genuinely broken.
2026-05-15 15:45:56 -07:00
Ben Villalobos
6d58e1120d Add Mocha retries to sanity test runner (#316508) 2026-05-14 22:28:41 +00:00
Dmitriy Vasyura
52bfdc2501 Force-kill Electron app if close hangs in sanity tests (#315418)
* Force-kill Electron app if close hangs in sanity tests

When a renderer crash occurs mid-test, app.close() can hang for the entire mocha timeout (~10 min), turning a single failed test into a partially-succeeded build. Add a closeElectronApp helper that races close() with a 60s timeout and falls back to killProcessTree.

* Address review: clear timeout, guard force-kill

Clear the race timeout when app.close() resolves quickly so it does not keep the event loop alive, and wrap killProcessTree in try/catch so a failure during force-kill does not mask the original test failure.
2026-05-09 09:05:30 +02:00
Dmitriy Vasyura
c15ec12b60 Remove Agents app testing from sanity tests (#315180)
Remove Agents sanity tests
2026-05-08 16:15:37 +10:00
Robo
42ad083aff chore: cleanup sub application from sanity test pipeline (#315006) 2026-05-07 18:13:08 +02:00
Dmitriy Vasyura
4c7f8d0f83 Sanity test fixes (#313421) 2026-04-29 23:05:58 -07:00
Dmitriy Vasyura
2723584a56 Dismiss welcome dialog again. (#312421)
Co-authored-by: Copilot <copilot@github.com>
2026-04-24 21:39:03 +00:00
Dmitriy Vasyura
d143e330f4 Only dismiss the welcome dialog in sanity tests if it is shown (#311702)
* Only dismiss the welcome dialog in sanity tests if it is shown

Co-authored-by: Copilot <copilot@github.com>

* Remove Agents app validation on Linux

* Don't run Agents app tests on stable

Co-authored-by: Copilot <copilot@github.com>

* Keep Agents app testing, but disable validation instead.

* Disable agents app test for stable builds

---------

Co-authored-by: Copilot <copilot@github.com>
2026-04-23 08:11:19 +00:00
Dmitriy Vasyura
8da5adecfc Switch to VS Code ACR and add Agents app coverage (#309834)
Co-authored-by: Copilot <copilot@github.com>
2026-04-15 08:46:31 -04:00
Raymond Zhao
c8f23febaf chore: run npm audit fix (#309902)
* chore: run npm audit fix

* bump build/rspack
2026-04-14 18:05:51 +00:00
Dmitriy Vasyura
19957771a1 Handle Welcome Dialog in DevTunnel Test (#309752)
Co-authored-by: Copilot <copilot@github.com>
2026-04-14 00:27:51 -07:00
Dmitriy Vasyura
9374b64c85 Handle Welcome dialog in sanity tests (#309662)
Co-authored-by: Copilot <copilot@github.com>
2026-04-13 23:29:46 +00:00
Josh Spicer
e764858962 Fix onboarding showing for existing users and sanity test failures (#309303)
* fix: restrict onboarding to first-launch users and fix sanity tests

- Add isNew(StorageScope.APPLICATION) guard to only show onboarding for
  genuinely new users, not existing users upgrading
- Move all guard conditions into tryShowOnboarding() for clarity
- Change ONBOARDING_STORAGE_KEY scope from PROFILE to APPLICATION
- Add --skip-welcome to sanity test Electron launch args to prevent
  onboarding overlay from blocking workspace trust dialog

Fixes onboarding showing for existing users and sanity test timeouts
introduced by PR #307262.

* use getBoolean for ONBOARDING_STORAGE_KEY check
2026-04-12 20:21:01 +02:00
Dmitriy Vasyura
567b7d7ff9 Disable flaky win32-x64 dev tunnel sanity test (#308313) 2026-04-07 20:05:23 +00:00
Dmitriy Vasyura
3d91bf7907 Enable CLI DevTunnel sanity tests (#305807) 2026-03-31 14:13:23 +11:00
Dmitriy Vasyura
10f505746f Add retries to sanity tests for dpkg lock errors on Linux (#305235) 2026-03-26 10:45:30 -07:00
Dmitriy Vasyura
9de7db1a5c Sanity tests improvements (#302917) 2026-03-18 18:42:27 +00:00
Dmitriy Vasyura
a6fb33c237 Improve extension installation wait condition (#299292) 2026-03-04 21:57:23 +00:00
Raymond Zhao
7dee96c44e chore: fix serialize-javascript alerts (#299248) 2026-03-04 19:02:44 +00:00
Dmitriy Vasyura
9d61d1947f Add more logging to sanity test runner (#298664) 2026-03-02 11:50:36 +01:00
dependabot[bot]
e2344f9b6b Bump minimatch from 9.0.6 to 9.0.9 in /test/sanity (#298126)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 9.0.6 to 9.0.9.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.6...v9.0.9)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-27 17:36:27 +00:00
Dmitriy Vasyura
a0a6cd83e2 Improve sanity tests stability (#298253) 2026-02-27 16:06:37 +00:00
dependabot[bot]
0aa520dbb9 Bump minimatch from 9.0.5 to 9.0.6 in /test/sanity (#297542)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 9.0.5 to 9.0.6.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v9.0.5...v9.0.6)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 9.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-24 22:20:25 -08:00
Dmitriy Vasyura
d0f203e76f Add Win32 metadata all executable binaries (#296710) 2026-02-24 09:29:02 +01:00
Dmitriy Vasyura
ee401a1256 Sanity tests perf improvements (#296248) 2026-02-22 16:55:53 +00:00
Dmitriy Vasyura
44166499c1 Type slower to attempt fix flaky sanity test (#295722) 2026-02-17 10:06:11 +01:00
Dmitriy Vasyura
8e56833278 Implement GitHub authentication flows in CLI tests (#295386) 2026-02-14 20:42:38 -08:00
Dmitriy Vasyura
104123aaee Merge pull request #295063 from microsoft/dev/dmitriv/flaky-download-fix
Add retries for target download logic in sanity tests
2026-02-12 16:56:59 -08:00
Dmitriy Vasyura
e72a9f54d6 Sanity test updates (#294782) 2026-02-12 10:36:23 +01:00
Robo
d0e516655a fix: rename product executable on macOS (#291948)
* fix: rename product executable name on macOS

* chore: update test/automation/src/electron.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: update test/automation/src/electron.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: rename in additional places

* chore: rename in code-perf.js

* chore: create symlink for backwards compatibility

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-03 14:50:21 -08:00
Dmitriy Vasyura
0e1c5103cd Remove macOS signing checks exclusions (#291875) 2026-02-02 09:24:43 -08:00
Matt Bierner
ee01088b74 Update roots 2026-01-30 13:12:58 -08:00
Dmitriy Vasyura
f905cf48fc Add CLI DevTunnel sanity test (#291813)
* Add CLI -> DevTunnel -> Web tests

* PR feedback
2026-01-30 20:31:33 +09:00
Dmitriy Vasyura
4ac8b5ed98 Enable Windows ARM sanity tests on the new pool (#291753)
* Enable Windows ARM sanity tests on the new pool

* Update README
2026-01-29 23:30:36 +00:00
Dmitriy Vasyura
51c5f16d28 PR feedback from previous commit for sanity tests (#291431) 2026-01-28 23:11:14 +00:00
Dmitriy Vasyura
4d8241eeaa Sanity tests updates (#291399)
* Sanity tests updates

* Revert qemu accidental change.
2026-01-28 13:58:56 -08:00
Dmitriy Vasyura
7d0760daa3 Add WSL sanity tests (#290682)
* Add WSL sanity tests

* Ensure WSL is installed and ready in Windows test script

* Try to get Ubuntu WSL installed if not present

* Use correct URL

* Fix win32 setup script

* Script update

* Another script fix
2026-01-27 06:18:34 +00:00
Dmitriy Vasyura
7024815efd Add test for arm64 Linux with 64K page size (#290658) 2026-01-26 18:53:22 -08:00