Skip to content

Extremely long build times compared to vscode #6891

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
1 of 2 tasks
bilogic opened this issue Jul 10, 2024 · 11 comments
Closed
1 of 2 tasks

Extremely long build times compared to vscode #6891

bilogic opened this issue Jul 10, 2024 · 11 comments
Labels
bug Something isn't working triage This issue needs to be triaged by a maintainer

Comments

@bilogic
Copy link
Contributor

bilogic commented Jul 10, 2024

Is there an existing issue for this?

  • I have searched the existing issues

OS/Web Information

  • Web Browser:
  • Local OS: Windows
  • Remote OS: Ubuntu 22.04
  • Remote Architecture: x 64
  • code-server --version: fb3e3e1

Steps to Reproduce

#!/bin/bash

# code server

# https://github.com/coder/code-server/issues/3061
# https://github.com/coder/code-server/blob/main/docs/CONTRIBUTING.md#creating-a-standalone-release

git clone https://github.com/coder/code-server.git

cd code-server
git reset --hard
git submodule update --init
quilt push -a

echo "############################### yarn install ###################################"
yarn install
echo "############################### yarn build ###################################"
yarn build

echo "############################### yarn build:vscode ###################################"
VERSION=0.0.0 yarn build:vscode
yarn release

I ran my script above

Expected

I should get a release of code-server without errors

Actual

See the extremely long compilation time (50 minutes) and eventual error

Logs

############################### yarn build:vscode ###################################
yarn run v1.22.22
$ ./ci/build/build-vscode.sh
Updated 1 path from the index
$ node --max-old-space-size=8192 ./node_modules/gulp/bin/gulp.js vscode-reh-web-linux-x64-min
[11:51:44] Using gulpfile ~/code-server/lib/vscode/gulpfile.js
[11:51:44] Starting 'vscode-reh-web-linux-x64-min'...
[11:51:44] Starting clean-out-build ...
[11:51:44] Finished clean-out-build after 17 ms
[11:51:44] Starting build-web-node-paths ...
[11:51:44] Finished build-web-node-paths after 2 ms
[11:51:44] Starting compile-api-proposal-names ...
[11:51:44] Starting compilation api-proposal-names...
[11:51:44] Finished compilation api-proposal-names with 0 errors after 98 ms
[11:51:44] Finished compile-api-proposal-names after 109 ms
[11:51:44] Starting compile-src ...
[11:52:04] [mangler] Done collecting. Classes: 7761. Exported symbols: 9479
[11:52:06] [mangler] Done creating class replacements
[11:52:06] [mangler] Starting prepare rename edits
[11:52:07] Starting compilation...


[12:41:23] [mangler] Done preparing edits: 3816 files
[12:41:30] [mangler] Done: 4811.749kb saved, memory-usage: {"total_heap_size":2651123712,"total_heap_size_executable":8101888,"total_physical_size":2650755072,"total_available_size":6032375144,"used_heap_size":2560729720,"heap_size_limit":8640266240,"malloced_memory":2138256,"peak_malloced_memory":20096896,"does_zap_garbage":0,"number_of_native_contexts":2,"number_of_detached_contexts":0,"total_global_handles_size":4694016,"used_global_handles_size":1841568,"external_memory":112479275}
[12:46:22] Finished compilation with 0 errors after 3254528 ms
[12:46:22] Finished compile-src after 3277528 ms
[12:46:22] Starting compile-build ...
[12:46:22] Finished compile-build after 14 ms
[12:46:22] Starting clean-extensions-build ...
[12:46:22] Finished clean-extensions-build after 2 ms
[12:46:22] Starting bundle-marketplace-extensions-build ...
[12:46:22] Downloading extension from GH: [email protected] ...
[12:46:22] Downloading extension from GH: [email protected] ...
[12:46:22] Downloading extension from GH: [email protected] ...
[12:46:25] Finished bundle-marketplace-extensions-build after 2739 ms
[12:46:25] Starting bundle-extensions-build ...
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
[12:47:14] Bundled extension: simple-browser/extension.webpack.config.js...
[12:47:15] Bundled extension: search-result/extension.webpack.config.js...
[12:47:16] Bundled extension: gulp/extension.webpack.config.js...
[12:47:16] Bundled extension: debug-auto-launch/extension.webpack.config.js...
[12:47:16] Bundled extension: jake/extension.webpack.config.js...
[12:47:16] Bundled extension: debug-server-ready/extension.webpack.config.js...
[12:47:16] Bundled extension: grunt/extension.webpack.config.js...
[12:47:16] Bundled extension: tunnel-forwarding/extension.webpack.config.js...
[12:47:22] Bundled extension: git-base/extension.webpack.config.js...
[12:47:22] Bundled extension: media-preview/extension.webpack.config.js...
[12:47:22] Bundled extension: references-view/extension.webpack.config.js...
[12:47:22] Bundled extension: markdown-math/extension.webpack.config.js...
[12:47:27] Bundled extension: ipynb/extension.webpack.config.js...
[12:47:31] Bundled extension: php-language-features/extension.webpack.config.js...
[12:47:39] Bundled extension: extension-editing/extension.webpack.config.js...
[12:47:45] Bundled extension: emmet/extension.webpack.config.js...
[12:47:52] Bundled extension: npm/extension.webpack.config.js...
[12:47:53] Bundled extension: merge-conflict/extension.webpack.config.js...
[12:47:54] Bundled extension: microsoft-authentication/extension.webpack.config.js...
[12:47:55] Bundled extension: github-authentication/extension.webpack.config.js...
[12:48:01] Bundled extension: css-language-features/extension.webpack.config.js...
[12:48:02] Bundled extension: typescript-language-features/extension.webpack.config.js...
[12:48:02] Bundled extension: git/extension.webpack.config.js...
[12:48:03] Bundled extension: json-language-features/server/extension.webpack.config.js...
[12:48:03] Bundled extension: css-language-features/server/extension.webpack.config.js...
[12:48:06] Bundled extension: configuration-editing/extension.webpack.config.js...
[12:48:06] Bundled extension: html-language-features/server/extension.webpack.config.js...
[12:48:07] Bundled extension: html-language-features/extension.webpack.config.js...
[12:48:08] Bundled extension: json-language-features/extension.webpack.config.js...
[12:48:08] Bundled extension: github/extension.webpack.config.js...
[12:48:11] Bundled extension: markdown-language-features/server/extension.webpack.config.js...
[12:48:13] Bundled extension: markdown-language-features/extension.webpack.config.js...
[12:48:13] Finished bundle-extensions-build after 107987 ms
[12:48:13] Starting compile-extensions-build ...
[12:48:13] Finished compile-extensions-build after 0 ms
[12:48:13] Starting compile-extension-media-build ...
[12:48:13] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/markdown-language-features/esbuild-preview.js with 0 errors.
[12:48:13] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/markdown-language-features/esbuild-notebook.js with 0 errors.
[12:48:13] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/notebook-renderers/esbuild.js with 0 errors.
[12:48:13] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/ipynb/esbuild.js with 0 errors.
[12:48:13] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/simple-browser/esbuild-preview.js with 0 errors.
[12:48:13] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/markdown-math/esbuild.js with 0 errors.
[12:48:13] Finished compile-extension-media-build after 252 ms
[12:48:13] Starting clean-out-vscode-reh-web ...
[12:48:13] Finished clean-out-vscode-reh-web after 2 ms
[12:48:13] Starting optimize-vscode-reh-web ...
[12:49:03] Finished optimize-vscode-reh-web after 49609 ms
[12:49:03] Starting clean-out-vscode-reh-web-min ...
[12:49:03] Finished clean-out-vscode-reh-web-min after 2 ms
[12:49:03] Starting minify-vscode-reh-web ...
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
▲ [WARNING] The "??" operator here will always return the left operand [suspicious-nullish-coalescing]

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:457846:84:
      457846 │ ...ewModel()?.getLineCount() * lineHeight) ?? editor.getContentHeight(); // Can't ju...
             ╵                                            ~~

  The left operand of the "??" operator here will never be null or undefined, so it will always be
  returned. This usually indicates a bug in your code:

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:457846:31:
      457846 │ ...ntentHeight = (editor._getViewModel()?.getLineCount() * lineHeight) ?? editor.get...
             ╵                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

▲ [WARNING] The "??" operator here will always return the left operand [suspicious-nullish-coalescing]

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:507813:88:
      507813 │ ...return this.viewModel?.welcomeExperience === WelcomeExperience.ForWorkspace ?? true;
             ╵                                                                                ~~

  The left operand of the "??" operator here will never be null or undefined, so it will always be
  returned. This usually indicates a bug in your code:

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:507813:19:
      507813 │ ...       return this.viewModel?.welcomeExperience === WelcomeExperience.ForWorkspac...
             ╵                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

▲ [WARNING] The "??" operator here will always return the left operand [suspicious-nullish-coalescing]

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:526708:141:
      526708 │ ...EditorCapabilities(contributedEditor.id)?.supportsMultipleEditorsPerDocument ?? true
             ╵                                                                                 ~~

  The left operand of the "??" operator here will never be null or undefined, so it will always be
  returned. This usually indicates a bug in your code:

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:526708:49:
      526708 │ ...source: () => !this.getCustomEditorCapabilities(contributedEditor.id)?.supportsMu...
             ╵                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

▲ [WARNING] The "??" operator here will always return the left operand [suspicious-nullish-coalescing]

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:527700:59:
      527700 │         return !item?.handle.startsWith('vscode-command:') ?? false;
             ╵                                                            ~~

  The left operand of the "??" operator here will never be null or undefined, so it will always be
  returned. This usually indicates a bug in your code:

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:527700:15:
      527700 │         return !item?.handle.startsWith('vscode-command:') ?? false;
             ╵                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

▲ [WARNING] The "??" operator here will always return the left operand [suspicious-nullish-coalescing]

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:654197:50:
      654197 │             return !!this.c?.rawValue?.hasFocus() ?? false;
             ╵                                                   ~~

  The left operand of the "??" operator here will never be null or undefined, so it will always be
  returned. This usually indicates a bug in your code:

    out-vscode-reh-web/vs/workbench/workbench.web.main.js:654197:19:
      654197 │             return !!this.c?.rawValue?.hasFocus() ?? false;
             ╵                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[12:49:15] Finished minify-vscode-reh-web after 12824 ms
[12:49:15] Starting node ...
[12:49:15] Downloading node.js 20.11.1 linux x64 from https://nodejs.org...
[12:49:15] Using SHA256 checksum for checking integrity: bf3a779bef19452da90fb88358ec2c57e0d2f882839b20dc6afc297b6aafc0d7
[12:49:22] Finished node after 6695 ms
[12:49:22] Starting clean-vscode-reh-web-linux-x64 ...
[12:49:22] Finished clean-vscode-reh-web-linux-x64 after 179 ms
[12:49:22] Starting vscode-reh-web-linux-x64-min-ci ...
[12:49:31] Finished vscode-reh-web-linux-x64-min-ci after 8501 ms
[12:49:31] Starting vscode-reh-web-linux-x64-min ...
[12:49:31] Finished vscode-reh-web-linux-x64-min after 0 ms
[12:49:31] Finished 'vscode-reh-web-linux-x64-min' after 58 min
Updated 1 path from the index
"fb3e3e1546d571e9973e86482bcd925c1918ec27"
Done in 3473.48s.
yarn run v1.22.22
$ ./ci/build/build-release.sh
npm notice created a lockfile as npm-shrinkwrap.json with version 3
npm notice created a lockfile as npm-shrinkwrap.json with version 3
npm notice created a lockfile as npm-shrinkwrap.json with version 3
rsync: [sender] link_stat "/root/code-server/out" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1338) [sender=3.2.7]
error Command failed with exit code 23.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Screenshot/Video

No response

Does this bug reproduce in native VS Code?

No, this works as expected in native VS Code

Does this bug reproduce in GitHub Codespaces?

This cannot be tested in GitHub Codespaces

Are you accessing code-server over a secure context?

  • I am using a secure context.

Notes

No response

@bilogic bilogic added bug Something isn't working triage This issue needs to be triaged by a maintainer labels Jul 10, 2024
@bilogic
Copy link
Contributor Author

bilogic commented Jul 10, 2024

VSCode's yarn watch in 4 minutes

commit 172fc4de6249070a15c0ba68a7b8f7f74b1c51b3 (HEAD -> main)
Author: Connor Peet <[email protected]>
Date:   Tue Jul 9 19:56:31 2024 -0700

    testing: finish implementation of call stack view (#221305)

[~/vscode]# node --max-old-space-size=4095 ./node_modules/gulp/bin/gulp.js
[14:43:42] Using gulpfile ~/vscode/gulpfile.js
[14:43:42] Starting 'default'...
[14:43:42] Starting monaco-typecheck ...
[14:43:42] Starting clean-out ...
[14:43:42] Starting clean-extension-configuration-editing ...
[14:43:42] Starting clean-extension-css-language-features-client ...
[14:43:42] Starting clean-extension-css-language-features-server ...
[14:43:42] Starting clean-extension-debug-auto-launch ...
[14:43:42] Starting clean-extension-debug-server-ready ...
[14:43:42] Starting clean-extension-emmet ...
[14:43:42] Starting clean-extension-extension-editing ...
[14:43:42] Starting clean-extension-git ...
[14:43:42] Starting clean-extension-git-base ...
[14:43:42] Starting clean-extension-github ...
[14:43:42] Starting clean-extension-github-authentication ...
[14:43:42] Starting clean-extension-grunt ...
[14:43:42] Starting clean-extension-gulp ...
[14:43:42] Starting clean-extension-html-language-features-client ...
[14:43:42] Starting clean-extension-html-language-features-server ...
[14:43:42] Starting clean-extension-ipynb ...
[14:43:42] Starting clean-extension-jake ...
[14:43:42] Starting clean-extension-json-language-features-client ...
[14:43:42] Starting clean-extension-json-language-features-server ...
[14:43:42] Starting clean-extension-markdown-language-features-preview-src ...
[14:43:42] Starting clean-extension-markdown-language-features-server ...
[14:43:42] Starting clean-extension-markdown-language-features ...
[14:43:42] Starting clean-extension-markdown-math ...
[14:43:42] Starting clean-extension-media-preview ...
[14:43:42] Starting clean-extension-merge-conflict ...
[14:43:42] Starting clean-extension-microsoft-authentication ...
[14:43:42] Starting clean-extension-notebook-renderers ...
[14:43:42] Starting clean-extension-npm ...
[14:43:42] Starting clean-extension-php-language-features ...
[14:43:42] Starting clean-extension-references-view ...
[14:43:42] Starting clean-extension-search-result ...
[14:43:42] Starting clean-extension-simple-browser ...
[14:43:42] Starting clean-extension-tunnel-forwarding ...
[14:43:42] Starting clean-extension-typescript-language-features-test-workspace ...
[14:43:42] Starting clean-extension-typescript-language-features-web ...
[14:43:42] Starting clean-extension-typescript-language-features ...
[14:43:42] Starting clean-extension-vscode-api-tests ...
[14:43:42] Starting clean-extension-vscode-colorize-tests ...
[14:43:42] Starting clean-extension-vscode-test-resolver ...
[14:43:42] Starting clean-extension-vscode-selfhost-test-provider ...
[14:43:42] Starting compile-extension-media ...
[14:43:42] Finished clean-extension-typescript-language-features-test-workspace after 25 ms
[14:43:42] Starting compile-extension:typescript-language-features-test-workspace ...
[14:43:42] Starting compilation extensions...
[14:43:43] Finished compilation extensions with 0 errors after 1177 ms
[14:43:43] Finished compile-extension:typescript-language-features-test-workspace after 1418 ms
[14:43:43] Finished esbuilding extension media /root/vscode/extensions/markdown-math/esbuild.js with 0 errors.
[14:43:43] Finished esbuilding extension media /root/vscode/extensions/notebook-renderers/esbuild.js with 0 errors.
[14:43:43] Finished esbuilding extension media /root/vscode/extensions/ipynb/esbuild.js with 0 errors.
[14:43:43] Finished esbuilding extension media /root/vscode/extensions/markdown-language-features/esbuild-notebook.js with 0 errors.
[14:43:43] Finished esbuilding extension media /root/vscode/extensions/simple-browser/esbuild-preview.js with 0 errors.
[14:43:43] Finished esbuilding extension media /root/vscode/extensions/markdown-language-features/esbuild-preview.js with 0 errors.
[14:43:43] Finished compile-extension-media after 1444 ms
[14:43:43] Finished clean-extension-debug-auto-launch after 1510 ms
[14:43:43] Starting compile-extension:debug-auto-launch ...
[14:43:43] Starting compilation extensions...
[14:43:43] Finished clean-extension-debug-server-ready after 1527 ms
[14:43:43] Starting compile-extension:debug-server-ready ...
[14:43:43] Finished clean-extension-extension-editing after 1542 ms
[14:43:43] Starting compile-extension:extension-editing ...
[14:43:43] Finished clean-extension-grunt after 1558 ms
[14:43:43] Starting compile-extension:grunt ...
[14:43:43] Finished clean-extension-gulp after 1570 ms
[14:43:43] Starting compile-extension:gulp ...
[14:43:43] Finished clean-extension-jake after 1588 ms
[14:43:43] Starting compile-extension:jake ...
[14:43:43] Finished clean-extension-markdown-language-features-preview-src after 1601 ms
[14:43:43] Starting compile-extension:markdown-language-features-preview-src ...
[14:43:43] Finished clean-extension-markdown-math after 1612 ms
[14:43:43] Starting compile-extension:markdown-math ...
[14:43:43] Finished clean-extension-merge-conflict after 1626 ms
[14:43:43] Starting compile-extension:merge-conflict ...
[14:43:43] Finished clean-extension-simple-browser after 1643 ms
[14:43:43] Starting compile-extension:simple-browser ...
[14:43:43] Finished clean-extension-tunnel-forwarding after 1656 ms
[14:43:43] Starting compile-extension:tunnel-forwarding ...
[14:43:44] Finished clean-extension-vscode-colorize-tests after 1670 ms
[14:43:44] Starting compile-extension:vscode-colorize-tests ...
[14:43:44] Finished clean-extension-vscode-selfhost-test-provider after 1695 ms
[14:43:44] Starting compile-extension:vscode-selfhost-test-provider ...
[14:43:45] Finished clean-extension-css-language-features-client after 3551 ms
[14:43:45] Starting compile-extension:css-language-features-client ...
[14:43:45] Finished clean-extension-configuration-editing after 3565 ms
[14:43:45] Starting compile-extension:configuration-editing ...
[14:43:45] Finished clean-extension-css-language-features-server after 3579 ms
[14:43:45] Starting compile-extension:css-language-features-server ...
[14:43:45] Finished clean-extension-emmet after 3585 ms
[14:43:45] Starting compile-extension:emmet ...
[14:43:45] Finished clean-extension-git after 3609 ms
[14:43:45] Starting compile-extension:git ...
[14:43:45] Finished clean-extension-github after 3641 ms
[14:43:45] Starting compile-extension:github ...
[14:43:45] Finished clean-extension-git-base after 3658 ms
[14:43:45] Starting compile-extension:git-base ...
[14:43:45] Finished clean-extension-html-language-features-client after 3670 ms
[14:43:45] Starting compile-extension:html-language-features-client ...
[14:43:46] Finished clean-extension-ipynb after 3683 ms
[14:43:46] Starting compile-extension:ipynb ...
[14:43:46] Finished clean-extension-json-language-features-client after 3700 ms
[14:43:46] Starting compile-extension:json-language-features-client ...
[14:43:46] Finished clean-extension-json-language-features-server after 3713 ms
[14:43:46] Starting compile-extension:json-language-features-server ...
[14:43:46] Finished clean-extension-markdown-language-features-server after 3719 ms
[14:43:46] Starting compile-extension:markdown-language-features-server ...
[14:43:46] Finished clean-extension-media-preview after 3726 ms
[14:43:46] Starting compile-extension:media-preview ...
[14:43:46] Finished clean-extension-microsoft-authentication after 3738 ms
[14:43:46] Starting compile-extension:microsoft-authentication ...
[14:43:46] Finished clean-extension-notebook-renderers after 3753 ms
[14:43:46] Starting compile-extension:notebook-renderers ...
[14:43:46] Finished clean-extension-npm after 3766 ms
[14:43:46] Starting compile-extension:npm ...
[14:43:46] Finished clean-extension-references-view after 3781 ms
[14:43:46] Starting compile-extension:references-view ...
[14:43:46] Finished clean-extension-search-result after 3796 ms
[14:43:46] Starting compile-extension:search-result ...
[14:43:46] Finished clean-extension-typescript-language-features-web after 3807 ms
[14:43:46] Starting compile-extension:typescript-language-features-web ...
[14:43:46] Finished clean-extension-vscode-api-tests after 3813 ms
[14:43:46] Starting compile-extension:vscode-api-tests ...
[14:43:46] Finished clean-extension-vscode-test-resolver after 3858 ms
[14:43:46] Starting compile-extension:vscode-test-resolver ...
[14:43:50] Finished clean-extension-github-authentication after 7779 ms
[14:43:50] Starting compile-extension:github-authentication ...
[14:43:50] Finished clean-extension-markdown-language-features after 7798 ms
[14:43:50] Starting compile-extension:markdown-language-features ...
[14:43:50] Finished clean-extension-php-language-features after 7821 ms
[14:43:50] Starting compile-extension:php-language-features ...
[14:43:50] Finished clean-extension-typescript-language-features after 7835 ms
[14:43:50] Starting compile-extension:typescript-language-features ...
[14:43:51] Finished clean-extension-html-language-features-server after 9566 ms
[14:43:51] Starting compile-extension:html-language-features-server ...
[14:43:52] Finished compile-extension:debug-server-ready after 8489 ms
[14:43:52] Finished compile-extension:debug-auto-launch after 8506 ms
[14:43:52] Finished compile-extension:grunt after 8456 ms
[14:43:52] Finished compile-extension:gulp after 8443 ms
[14:43:52] Finished compile-extension:jake after 8425 ms
[14:43:52] Finished compile-extension:markdown-math after 8400 ms
[14:43:59] Finished clean-out after 16734 ms
[14:43:59] Starting build-web-node-paths ...
[14:43:59] Finished build-web-node-paths after 2 ms
[14:43:59] Starting compile-api-proposal-names ...
[14:43:59] Starting compilation api-proposal-names...
[14:43:59] Finished compile-extension:search-result after 12935 ms
[14:43:59] Finished compile-extension:vscode-colorize-tests after 15073 ms
[14:43:59] Finished compile-extension:tunnel-forwarding after 15088 ms
[14:44:06] Finished compile-extension:simple-browser after 22787 ms
[14:44:07] Finished monaco-typecheck after 25543 ms
[14:44:10] Finished compile-extension:vscode-test-resolver after 24497 ms
[14:44:17] Finished compile-extension:css-language-features-client after 31525 ms
[14:44:17] Finished compile-extension:markdown-language-features-preview-src after 33472 ms
[14:44:19] Finished compile-extension:extension-editing after 35761 ms
[14:44:19] Finished compile-extension:json-language-features-client after 33614 ms
[14:44:20] Finished compile-extension:html-language-features-client after 34702 ms
[14:44:20] Finished compile-extension:git-base after 34724 ms
[14:44:20] Finished compile-extension:configuration-editing after 34821 ms
[14:44:20] Finished compile-extension:json-language-features-server after 34676 ms
[14:44:20] Finished compile-extension:php-language-features after 30576 ms
[14:44:20] Finished compile-extension:merge-conflict after 36783 ms
[14:44:20] Finished compile-extension:media-preview after 34688 ms
[14:44:20] Finished compile-extension:typescript-language-features-web after 34605 ms
[14:44:20] Finished compile-extension:references-view after 34637 ms
[14:44:23] Finished compile-extension:npm after 37004 ms
[14:44:23] Finished compile-extension:notebook-renderers after 37018 ms
[14:44:23] Finished compile-extension:ipynb after 37095 ms
[14:44:25] Finished compile-extension:css-language-features-server after 39246 ms
[14:44:25] Finished compile-extension:vscode-selfhost-test-provider after 41128 ms
[14:44:25] Finished compile-extension:microsoft-authentication after 39091 ms
[14:44:25] Finished compile-extension:markdown-language-features-server after 39113 ms
[14:44:25] Finished compile-extension:github after 39198 ms
[14:44:31] Finished compile-extension:github-authentication after 40903 ms
[14:44:33] Finished compile-extension:vscode-api-tests after 47383 ms
[14:44:33] Finished compile-extension:emmet after 47629 ms
[14:44:33] Finished compile-extension:html-language-features-server after 41656 ms
[14:44:33] Finished compilation api-proposal-names with 0 errors after 34491 ms
[14:44:33] Finished compile-api-proposal-names after 34493 ms
[14:44:33] Starting compile-src ...
[14:44:34] Starting compilation...
[14:44:34] Finished compile-extension:git after 48701 ms
[14:44:39] Finished compile-extension:markdown-language-features after 49161 ms
[14:44:39] Finished compilation extensions with 0 errors after 55670 ms
[14:44:39] Finished compile-extension:typescript-language-features after 49514 ms
[14:44:39] Starting compile-extensions ...
[14:44:39] Finished compile-extensions after 0 ms
[14:47:38] Finished compilation with 0 errors after 184274 ms
[14:47:38] Finished compile-src after 185380 ms
[14:47:38] Starting compile-client ...
[14:47:38] Finished compile-client after 0 ms
[14:47:38] Starting compile ...
[14:47:38] Finished compile after 0 ms
[14:47:38] Finished 'default' after 3.93 min

@code-asher
Copy link
Member

code-asher commented Jul 10, 2024

yarn build:vscode runs yarn gulp vscode-reh-web-linux-x64-min, which should take significantly more time than yarn watch.

@code-asher
Copy link
Member

code-asher commented Jul 10, 2024

Also, the error appears from yarn release, not yarn build:vscode, the latter seems to have completed successfully.

rsync: [sender] link_stat "/root/code-server/out" failed: No such file or directory (2)

That makes it sound like yarn build was not ran, if the out directory is missing. 🤔 We could detect this and print a message like "please run yarn build" or something like that.

@bilogic
Copy link
Contributor Author

bilogic commented Jul 10, 2024

Thanks, the error was due to node-typescript not installed, it's unclear to me why code-server needs it while VSCode did not.

The last time I built code-server was in #3061, late 2023 which definitely did not take 1 hour, I don't think it even took 15 minutes, which is about my limit when I start looking into why.

Because of this long wait, I also tested on M1 Macbook Air 16GB RAM which took 4.5 hours(!!)

  1. What long does it take to build on your end? And machine specs?
  2. My understanding is, code-server applies some patches to VSCode, effectively, we are compiling a modified version of VSCode, why is it so significantly longer than yarn watch?
  3. Can I also confirm that code-server builds in parallel?

@bilogic
Copy link
Contributor Author

bilogic commented Jul 10, 2024

Running #3061 version again, it took 40 minutes

[root@ubuntu 2024-07-10 19:03:16]
[~/code-server]# yarn install; yarn build; VERSION=0.0.0 yarn build:vscode
yarn install v1.22.22
[1/5] Validating package.json...
[2/5] Resolving packages...
warning Resolution field "[email protected]" is incompatible with requested version "[email protected]"
warning Resolution field "[email protected]" is incompatible with requested version "[email protected]"
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ ./ci/dev/postinstall.sh
Installing dependencies for /root/code-server/test
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > [email protected]" has unmet peer dependency "typescript@>=3.8 <5.0".
[4/4] Building fresh packages...
Done in 4.66s.
Installing dependencies for /root/code-server/test/e2e/extensions/test-extension
yarn install v1.22.22
[1/5] Validating package.json...
warning [email protected]: The engine "vscode" appears to be invalid.
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
Done in 0.23s.
Installing dependencies for /root/code-server/lib/vscode
yarn install v1.22.22
$ node build/npm/preinstall.js
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning " > [email protected]" has unmet peer dependency "postcss@^8.0.0".
warning " > [email protected]" has unmet peer dependency "@bazel/bazelisk@>=1.7.5".
warning " > [email protected]" has unmet peer dependency "@bazel/concatjs@>=5.3.0".
[4/4] Building fresh packages...
$ node build/npm/postinstall.js
Installing dependencies in build...
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 29.10s.
Installing dependencies in extensions...
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
$ node ./postinstall.mjs
Removed /root/code-server/lib/vscode/extensions/node_modules/typescript/LICENSE.txt
Removed /root/code-server/lib/vscode/extensions/node_modules/typescript/README.md
Removed /root/code-server/lib/vscode/extensions/node_modules/typescript/SECURITY.md
Removed /root/code-server/lib/vscode/extensions/node_modules/typescript/ThirdPartyNoticeText.txt
Removed /root/code-server/lib/vscode/extensions/node_modules/typescript/bin
removed '/root/code-server/lib/vscode/extensions/node_modules/typescript/lib/tsc.js'
removed '/root/code-server/lib/vscode/extensions/node_modules/typescript/lib/tsserverlibrary.d.ts'
Done in 34.67s.
Installing dependencies in extensions/configuration-editing...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.37s.
Installing dependencies in extensions/css-language-features...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 1.93s.
Installing dependencies in extensions/css-language-features/server...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.63s.
Installing dependencies in extensions/debug-auto-launch...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.18s.
Installing dependencies in extensions/debug-server-ready...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.22s.
Installing dependencies in extensions/emmet...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning Workspaces can only be enabled in private projects.
[4/4] Building fresh packages...
Done in 1.48s.
Installing dependencies in extensions/extension-editing...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.28s.
Installing dependencies in extensions/git...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 4.98s.
Installing dependencies in extensions/git-base...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.21s.
Installing dependencies in extensions/github...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.68s.
Installing dependencies in extensions/github-authentication...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.85s.
Installing dependencies in extensions/grunt...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.20s.
Installing dependencies in extensions/gulp...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.20s.
Installing dependencies in extensions/html-language-features...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.45s.
Installing dependencies in extensions/html-language-features/server...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.60s.
Installing dependencies in extensions/ipynb...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@jupyterlab/nbformat > @lumino/[email protected]" has unmet peer dependency "[email protected]".
[4/4] Building fresh packages...
Done in 0.53s.
Installing dependencies in extensions/jake...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.23s.
Installing dependencies in extensions/json-language-features...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.38s.
Installing dependencies in extensions/json-language-features/server...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 1.84s.
Installing dependencies in extensions/markdown-language-features/server...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.72s.
Installing dependencies in extensions/markdown-language-features...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.95s.
Installing dependencies in extensions/markdown-math...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 2.24s.
Installing dependencies in extensions/media-preview...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.38s.
Installing dependencies in extensions/merge-conflict...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.35s.
Installing dependencies in extensions/microsoft-authentication...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.41s.
Installing dependencies in extensions/notebook-renderers...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.96s.
Installing dependencies in extensions/npm...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.35s.
Installing dependencies in extensions/php-language-features...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.23s.
Installing dependencies in extensions/references-view...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.20s.
Installing dependencies in extensions/search-result...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 0.11s.
Installing dependencies in extensions/simple-browser...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 1.40s.
Installing dependencies in extensions/tunnel-forwarding...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.18s.
Installing dependencies in extensions/typescript-language-features...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@vscode/extension-telemetry > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
warning "@vscode/extension-telemetry > @microsoft/applicationinsights-web-basic > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 2.50s.
Installing dependencies in extensions/vscode-api-tests...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.21s.
Installing dependencies in extensions/vscode-colorize-tests...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.23s.
Installing dependencies in extensions/vscode-test-resolver...
$ yarn --ignore-engines
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.21s.
Installing dependencies in remote...
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 35.07s.
Installing dependencies in remote/web...
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning "@microsoft/1ds-core-js > @microsoft/[email protected]" has unmet peer dependency "tslib@*".
[4/4] Building fresh packages...
Done in 0.42s.
Installing dependencies in test/automation...
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.81s.
Installing dependencies in test/integration/browser...
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.36s.
Installing dependencies in test/monaco...
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > [email protected]" has unmet peer dependency "webpack@^2.2.0-rc || ^3 || ^4 || ^5".
[4/4] Building fresh packages...
Done in 0.22s.
Installing dependencies in test/smoke...
$ yarn
yarn install v1.22.22
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 0.78s.
Done in 246.09s.
Done in 259.49s.
yarn run v1.22.22
$ ./ci/build/build-code-server.sh
Done in 7.07s.
yarn run v1.22.22
$ ./ci/build/build-vscode.sh
Updated 0 paths from the index
$ node --max_old_space_size=8192 ./node_modules/gulp/bin/gulp.js vscode-reh-web-linux-x64-min
[19:07:53] Using gulpfile ~/code-server/lib/vscode/gulpfile.js
[19:07:53] Starting 'vscode-reh-web-linux-x64-min'...
[19:07:53] Starting clean-out-build ...
[19:07:53] Finished clean-out-build after 3 ms
[19:07:53] Starting build-web-node-paths ...
[19:07:53] Finished build-web-node-paths after 3 ms
[19:07:53] Starting compile-api-proposal-names ...
[19:07:53] Starting compilation api-proposal-names...
[19:07:53] Finished compilation api-proposal-names with 0 errors after 114 ms
[19:07:53] Finished compile-api-proposal-names after 125 ms
[19:07:53] Starting compile-src ...
[19:08:13] [mangler] Done collecting. Classes: 7143. Exported symbols: 8704
[19:08:15] [mangler] Done creating class replacements
[19:08:15] [mangler] Starting prepare rename edits
[19:08:16] Starting compilation...
[19:38:45] [mangler] Done preparing edits: 3511 files
[19:38:51] [mangler] Done: 4343.922kb saved
[19:43:17] Finished compilation with 0 errors after 2100724 ms
[19:43:17] Finished compile-src after 2123636 ms
[19:43:17] Starting compile-build ...
[19:43:17] Finished compile-build after 26 ms
[19:43:17] Starting clean-extensions-build ...
[19:43:17] Finished clean-extensions-build after 3 ms
[19:43:17] Starting bundle-marketplace-extensions-build ...
[19:43:17] Downloading extension from GH: [email protected] ...
[19:43:17] Downloading extension from GH: [email protected] ...
[19:43:17] Downloading extension from GH: [email protected] ...
[19:43:23] Finished bundle-marketplace-extensions-build after 5632 ms
[19:43:23] Starting bundle-extensions-build ...
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
 INFO  Detected presence of yarn.lock. Using 'yarn' instead of 'npm' (to override this pass '--no-yarn' on the command line).
[19:43:37] [mangler] Mangling /root/code-server/lib/vscode/extensions/merge-conflict/tsconfig.json
[19:43:38] [mangler] Done collecting. Classes: 11. Exported symbols: 11
[19:43:38] [mangler] Done creating class replacements
[19:43:38] [mangler] Starting prepare rename edits
[19:43:38] [mangler] Mangling /root/code-server/lib/vscode/extensions/markdown-math/tsconfig.json
[19:43:38] [mangler] Done collecting. Classes: 0. Exported symbols: 1
[19:43:38] [mangler] Done creating class replacements
[19:43:38] [mangler] Starting prepare rename edits
[19:43:38] [mangler] Mangling /root/code-server/lib/vscode/extensions/gulp/tsconfig.json
[19:43:38] [mangler] Done collecting. Classes: 2. Exported symbols: 2
[19:43:38] [mangler] Done creating class replacements
[19:43:38] [mangler] Starting prepare rename edits
[19:43:38] [mangler] Mangling /root/code-server/lib/vscode/extensions/jake/tsconfig.json
[19:43:39] [mangler] Done collecting. Classes: 2. Exported symbols: 2
[19:43:39] [mangler] Done creating class replacements
[19:43:39] [mangler] Starting prepare rename edits
[19:43:39] [mangler] Mangling /root/code-server/lib/vscode/extensions/grunt/tsconfig.json
[19:43:39] [mangler] Done collecting. Classes: 2. Exported symbols: 2
[19:43:39] [mangler] Done creating class replacements
[19:43:39] [mangler] Starting prepare rename edits
[19:43:39] [mangler] Mangling /root/code-server/lib/vscode/extensions/extension-editing/tsconfig.json
[19:43:40] [mangler] Done collecting. Classes: 3. Exported symbols: 10
[19:43:40] [mangler] Done creating class replacements
[19:43:40] [mangler] Starting prepare rename edits
[19:43:40] [mangler] Mangling /root/code-server/lib/vscode/extensions/debug-server-ready/tsconfig.json
[19:43:40] [mangler] Done collecting. Classes: 2. Exported symbols: 1
[19:43:40] [mangler] Done creating class replacements
[19:43:40] [mangler] Starting prepare rename edits
[19:43:40] [mangler] Mangling /root/code-server/lib/vscode/extensions/debug-auto-launch/tsconfig.json
[19:43:41] [mangler] Done collecting. Classes: 0. Exported symbols: 2
[19:43:41] [mangler] Done creating class replacements
[19:43:41] [mangler] Starting prepare rename edits
[19:43:41] [mangler] Mangling /root/code-server/lib/vscode/extensions/simple-browser/tsconfig.json
[19:43:41] [mangler] Done collecting. Classes: 4. Exported symbols: 5
[19:43:41] [mangler] Done creating class replacements
[19:43:41] [mangler] Starting prepare rename edits
[19:43:41] [mangler] Done preparing edits: 0 files
[19:43:41] [mangler] Done: 0kb saved
[19:43:41] [mangler] Done preparing edits: 0 files
[19:43:41] [mangler] Done: 0kb saved
[19:43:42] [mangler] Mangling /root/code-server/lib/vscode/extensions/search-result/tsconfig.json
[19:43:43] [mangler] Done collecting. Classes: 0. Exported symbols: 1
[19:43:43] [mangler] Done creating class replacements
[19:43:43] [mangler] Starting prepare rename edits
[19:43:43] [mangler] Mangling /root/code-server/lib/vscode/extensions/references-view/tsconfig.json
[19:43:44] [mangler] Done collecting. Classes: 24. Exported symbols: 23
[19:43:44] [mangler] Done creating class replacements
[19:43:44] [mangler] Starting prepare rename edits
[19:43:44] [mangler] Mangling /root/code-server/lib/vscode/extensions/npm/tsconfig.json
[19:43:44] [mangler] Done collecting. Classes: 12. Exported symbols: 35
[19:43:44] [mangler] Done creating class replacements
[19:43:44] [mangler] Starting prepare rename edits
[19:43:44] [mangler] Mangling /root/code-server/lib/vscode/extensions/microsoft-authentication/tsconfig.json
[19:43:45] [mangler] Done collecting. Classes: 6. Exported symbols: 23
[19:43:45] [mangler] Done creating class replacements
[19:43:45] [mangler] Starting prepare rename edits
[19:43:45] [mangler] Mangling /root/code-server/lib/vscode/extensions/ipynb/tsconfig.json
[19:43:46] [mangler] Done collecting. Classes: 4. Exported symbols: 22
[19:43:46] [mangler] Done creating class replacements
[19:43:46] [mangler] Starting prepare rename edits
[19:43:46] [mangler] Mangling /root/code-server/lib/vscode/extensions/media-preview/tsconfig.json
[19:43:46] [mangler] Done collecting. Classes: 13. Exported symbols: 15
[19:43:46] [mangler] Done creating class replacements
[19:43:46] [mangler] Starting prepare rename edits
[19:43:46] [mangler] Mangling /root/code-server/lib/vscode/extensions/configuration-editing/tsconfig.json
[19:43:48] [mangler] Done collecting. Classes: 2. Exported symbols: 6
[19:43:48] [mangler] Done creating class replacements
[19:43:48] [mangler] Starting prepare rename edits
[19:43:48] [mangler] Mangling /root/code-server/lib/vscode/extensions/git-base/tsconfig.json
[19:43:48] [mangler] Done collecting. Classes: 4. Exported symbols: 11
[19:43:48] [mangler] Done creating class replacements
[19:43:48] [mangler] Starting prepare rename edits
[19:43:48] [mangler] Mangling /root/code-server/lib/vscode/extensions/tunnel-forwarding/tsconfig.json
[19:43:49] [mangler] Done collecting. Classes: 5. Exported symbols: 5
[19:43:49] [mangler] Done creating class replacements
[19:43:49] [mangler] Starting prepare rename edits
[19:43:49] [mangler] Done preparing edits: 0 files
[19:43:49] [mangler] Done: 0kb saved
[19:43:50] [mangler] Mangling /root/code-server/lib/vscode/extensions/emmet/tsconfig.json
[19:43:51] [mangler] Done collecting. Classes: 2. Exported symbols: 75
[19:43:51] [mangler] Done creating class replacements
[19:43:51] [mangler] Starting prepare rename edits
[19:43:51] [mangler] Mangling /root/code-server/lib/vscode/extensions/github/tsconfig.json
[19:43:53] [mangler] Done collecting. Classes: 12. Exported symbols: 31
[19:43:53] [mangler] Done creating class replacements
[19:43:53] [mangler] Starting prepare rename edits
[19:43:53] [mangler] Mangling /root/code-server/lib/vscode/extensions/github-authentication/tsconfig.json
[19:43:53] [mangler] Done collecting. Classes: 12. Exported symbols: 29
[19:43:53] [mangler] Done creating class replacements
[19:43:53] [mangler] Starting prepare rename edits
[19:43:53] [mangler] Mangling /root/code-server/lib/vscode/extensions/php-language-features/tsconfig.json
[19:43:54] [mangler] Done collecting. Classes: 9. Exported symbols: 14
[19:43:54] [mangler] Done creating class replacements
[19:43:54] [mangler] Starting prepare rename edits
[19:43:54] [mangler] Mangling /root/code-server/lib/vscode/extensions/git/tsconfig.json
[19:43:54] [mangler] Done collecting. Classes: 73. Exported symbols: 102
[19:43:55] [mangler] Done creating class replacements
[19:43:55] [mangler] Starting prepare rename edits
[19:43:55] [mangler] Mangling /root/code-server/lib/vscode/extensions/typescript-language-features/tsconfig.json
[19:43:57] [mangler] Done collecting. Classes: 167. Exported symbols: 239
[19:43:57] [mangler] Done creating class replacements
[19:43:57] [mangler] Starting prepare rename edits
[19:43:57] [mangler] Mangling /root/code-server/lib/vscode/extensions/markdown-language-features/tsconfig.json
[19:43:58] [mangler] Done collecting. Classes: 53. Exported symbols: 96
[19:43:58] [mangler] Done creating class replacements
[19:43:58] [mangler] Starting prepare rename edits
[19:43:59] [mangler] Mangling /root/code-server/lib/vscode/extensions/json-language-features/client/tsconfig.json
[19:43:59] [mangler] Done collecting. Classes: 1. Exported symbols: 11
[19:43:59] [mangler] Done creating class replacements
[19:43:59] [mangler] Starting prepare rename edits
[19:43:59] [mangler] Mangling /root/code-server/lib/vscode/extensions/css-language-features/client/tsconfig.json
[19:44:00] [mangler] Done collecting. Classes: 0. Exported symbols: 8
[19:44:00] [mangler] Done creating class replacements
[19:44:00] [mangler] Starting prepare rename edits
[19:44:00] [mangler] Done preparing edits: 1 files
[19:44:00] [mangler] Done: 0.713kb saved
[19:44:00] [mangler] Done preparing edits: 1 files
[19:44:00] [mangler] Done: 0.685kb saved
[19:44:00] [mangler] Done preparing edits: 1 files
[19:44:00] [mangler] Done: 0.705kb saved
[19:44:02] [mangler] Mangling /root/code-server/lib/vscode/extensions/html-language-features/client/tsconfig.json
[19:44:03] [mangler] Done collecting. Classes: 0. Exported symbols: 11
[19:44:03] [mangler] Done creating class replacements
[19:44:03] [mangler] Starting prepare rename edits
[19:44:03] [mangler] Mangling /root/code-server/lib/vscode/extensions/json-language-features/server/tsconfig.json
[19:44:04] [mangler] Done collecting. Classes: 0. Exported symbols: 9
[19:44:04] [mangler] Done creating class replacements
[19:44:04] [mangler] Starting prepare rename edits
[19:44:04] [mangler] Mangling /root/code-server/lib/vscode/extensions/css-language-features/server/tsconfig.json
[19:44:05] [mangler] Done collecting. Classes: 0. Exported symbols: 12
[19:44:05] [mangler] Done creating class replacements
[19:44:05] [mangler] Starting prepare rename edits
[19:44:05] [mangler] Done preparing edits: 1 files
[19:44:05] [mangler] Done: 0.763kb saved
[19:44:06] [mangler] Done preparing edits: 2 files
[19:44:06] [mangler] Done: 1.662kb saved
[19:44:08] [mangler] Mangling /root/code-server/lib/vscode/extensions/markdown-language-features/server/tsconfig.json
[19:44:09] [mangler] Done collecting. Classes: 8. Exported symbols: 25
[19:44:09] [mangler] Done creating class replacements
[19:44:09] [mangler] Starting prepare rename edits
[19:44:09] [mangler] Mangling /root/code-server/lib/vscode/extensions/html-language-features/server/tsconfig.json
[19:44:10] [mangler] Done collecting. Classes: 0. Exported symbols: 40
[19:44:10] [mangler] Done creating class replacements
[19:44:10] [mangler] Starting prepare rename edits
[19:44:10] [mangler] Done preparing edits: 0 files
[19:44:10] [mangler] Done: 0kb saved
[19:44:10] [mangler] Done preparing edits: 4 files
[19:44:10] [mangler] Done: 1.068kb saved
[19:44:11] [mangler] Done preparing edits: 6 files
[19:44:11] [mangler] Done: 0.222kb saved
[19:44:12] [mangler] Done preparing edits: 7 files
[19:44:12] [mangler] Done: 1.032kb saved
[19:44:13] [mangler] Done preparing edits: 8 files
[19:44:13] [mangler] Done: 0.381kb saved
[19:44:14] [mangler] Done preparing edits: 7 files
[19:44:14] [mangler] Done: 0.494kb saved
[19:44:15] [mangler] Done preparing edits: 6 files
[19:44:15] [mangler] Done: 0.785kb saved
[19:44:17] [mangler] Done preparing edits: 3 files
[19:44:17] [mangler] Done: 1.006kb saved
[19:44:17] [mangler] Done preparing edits: 13 files
[19:44:17] [mangler] Done: 0.924kb saved
[19:44:19] [mangler] Done preparing edits: 7 files
[19:44:19] [mangler] Done: 1.844kb saved
[19:44:19] [mangler] Done preparing edits: 10 files
[19:44:19] [mangler] Done: 3.046kb saved
[19:44:22] [mangler] Done preparing edits: 9 files
[19:44:22] [mangler] Done: 2.428kb saved
[19:44:22] [mangler] Done preparing edits: 9 files
[19:44:22] [mangler] Done: 3.227kb saved
[19:44:23] Bundled extension: debug-auto-launch/extension.webpack.config.js...
[19:44:23] [mangler] Done preparing edits: 8 files
[19:44:23] [mangler] Done: 2.664kb saved
[19:44:24] Bundled extension: gulp/extension.webpack.config.js...
[19:44:24] Bundled extension: jake/extension.webpack.config.js...
[19:44:24] Bundled extension: grunt/extension.webpack.config.js...
[19:44:24] Bundled extension: simple-browser/extension.webpack.config.js...
[19:44:24] [mangler] Done preparing edits: 4 files
[19:44:24] [mangler] Done: 3.655kb saved
[19:44:25] Bundled extension: debug-server-ready/extension.webpack.config.js...
[19:44:25] Bundled extension: search-result/extension.webpack.config.js...
[19:44:25] [mangler] Done preparing edits: 11 files
[19:44:25] [mangler] Done: 3.647kb saved
[19:44:28] Bundled extension: markdown-math/extension.webpack.config.js...
[19:44:28] [mangler] Done preparing edits: 13 files
[19:44:28] [mangler] Done: 3.404kb saved
[19:44:30] [mangler] Done preparing edits: 14 files
[19:44:30] [mangler] Done: 4.589kb saved
[19:44:32] Bundled extension: tunnel-forwarding/extension.webpack.config.js...
[19:44:33] [mangler] Done preparing edits: 14 files
[19:44:33] [mangler] Done: 3.343kb saved
[19:44:33] [mangler] Done preparing edits: 38 files
[19:44:33] [mangler] Done: 10.277kb saved
[19:44:35] Bundled extension: git-base/extension.webpack.config.js...
[19:44:35] [mangler] Done preparing edits: 11 files
[19:44:35] [mangler] Done: 4.425kb saved
[19:44:51] Bundled extension: php-language-features/extension.webpack.config.js...
[19:44:51] Bundled extension: ipynb/extension.webpack.config.js...
[19:44:53] Bundled extension: media-preview/extension.webpack.config.js...
[19:44:53] Bundled extension: extension-editing/extension.webpack.config.js...
[19:44:55] Bundled extension: references-view/extension.webpack.config.js...
[19:45:05] Bundled extension: css-language-features/extension.webpack.config.js...
[19:45:08] Bundled extension: json-language-features/server/extension.webpack.config.js...
[19:45:08] Bundled extension: html-language-features/server/extension.webpack.config.js...
[19:45:08] Bundled extension: configuration-editing/extension.webpack.config.js...
[19:45:08] [mangler] Done preparing edits: 59 files
[19:45:08] [mangler] Done: 17.45kb saved
[19:45:12] Bundled extension: emmet/extension.webpack.config.js...
[19:45:12] Bundled extension: css-language-features/server/extension.webpack.config.js...
[19:45:13] Bundled extension: npm/extension.webpack.config.js...
[19:45:24] Bundled extension: merge-conflict/extension.webpack.config.js...
[19:45:27] [mangler] Done preparing edits: 38 files
[19:45:27] [mangler] Done: 32.563kb saved
[19:45:30] Bundled extension: github-authentication/extension.webpack.config.js...
[19:45:31] Bundled extension: microsoft-authentication/extension.webpack.config.js...
[19:45:31] Bundled extension: markdown-language-features/server/extension.webpack.config.js...
[19:45:32] Bundled extension: html-language-features/extension.webpack.config.js...
[19:45:32] Bundled extension: json-language-features/extension.webpack.config.js...
[19:45:37] Bundled extension: github/extension.webpack.config.js...
[19:45:43] [mangler] Done preparing edits: 138 files
[19:45:44] [mangler] Done: 54.528kb saved
[19:45:56] Bundled extension: markdown-language-features/extension.webpack.config.js...
[19:45:57] Bundled extension: git/extension.webpack.config.js...
[19:46:07] Bundled extension: typescript-language-features/extension.webpack.config.js...
[19:46:07] Finished bundle-extensions-build after 163802 ms
[19:46:07] Starting compile-extensions-build ...
[19:46:07] Finished compile-extensions-build after 0 ms
[19:46:07] Starting compile-extension-media-build ...
[19:46:07] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/markdown-language-features/esbuild-preview.js with 0 errors.
[19:46:07] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/markdown-language-features/esbuild-notebook.js with 0 errors.
[19:46:07] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/notebook-renderers/esbuild.js with 0 errors.
[19:46:07] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/ipynb/esbuild.js with 0 errors.
[19:46:07] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/markdown-math/esbuild.js with 0 errors.
[19:46:07] Finished esbuilding extension media /root/code-server/lib/vscode/extensions/simple-browser/esbuild-preview.js with 0 errors.
[19:46:07] Finished compile-extension-media-build after 354 ms
[19:46:07] Starting clean-out-vscode-reh-web ...
[19:46:07] Finished clean-out-vscode-reh-web after 2 ms
[19:46:07] Starting optimize-vscode-reh-web ...
[19:46:54] Finished optimize-vscode-reh-web after 47558 ms
[19:46:54] Starting clean-out-vscode-reh-web-min ...
[19:46:54] Finished clean-out-vscode-reh-web-min after 1 ms
[19:46:54] Starting minify-vscode-reh-web ...
Browserslist: caniuse-lite is outdated. Please run:
npx browserslist@latest --update-db

Why you should do it regularly:
https://github.com/browserslist/browserslist#browsers-data-updating
[19:47:06] Finished minify-vscode-reh-web after 11453 ms
[19:47:06] Starting node ...
[19:47:06] Downloading node.js 18.15.0 linux x64 from https://nodejs.org...
[19:47:06] Using SHA256 checksum for checking integrity: b298a73a9fc07badfa9e4a2e86ed48824fc9201327cdc43e3f3f58b273c535e7
[19:47:13] Finished node after 6931 ms
[19:47:13] Starting clean-vscode-reh-web-linux-x64 ...
[19:47:13] Finished clean-vscode-reh-web-linux-x64 after 2 ms
[19:47:13] Starting vscode-reh-web-linux-x64-min-ci ...
[19:47:24] Finished vscode-reh-web-linux-x64-min-ci after 11637 ms
[19:47:24] Starting vscode-reh-web-linux-x64-min ...
[19:47:24] Finished vscode-reh-web-linux-x64-min after 0 ms
[19:47:24] Finished 'vscode-reh-web-linux-x64-min' after 40 min
Updated 1 path from the index
"09dd5fe44d86d30ea21e03ebdb3979d31eab1ac9"
Done in 2379.08s.
[root@ubuntu 2024-07-10 19:47:25]
[~/code-server]#

@bilogic
Copy link
Contributor Author

bilogic commented Jul 10, 2024

I guess what I'm trying to understand is:

  1. Is there a bug/unoptimized parameter causing this slow build? I mean, what is causing this to be 10 times slower than VSCode?
  2. How should I develop with this kind of build times? This Ubuntu VM has been given 24 xeon cores and 64GB RAM

@code-asher
Copy link
Member

Thanks, the error was due to node-typescript not installed, it's unclear to me why code-server needs it while VSCode did not.

I am not seeing node-typescript as a dependency in our code, nor do I see it referenced in the error message. All I see posted above is the rsync error. Where are you seeing node-typsecript?

The last time I built code-server was in #3061, late 2023 which definitely did not take 1 hour, I don't think it even took 15 minutes, which is about my limit when I start looking into why.

You are right, I noticed this as well! But I never looked into why it is so much slower now. Part of the reason is that we are only passively maintaining code-server so I have not felt like it was worth the time to look into it.

What long does it take to build on your end? And machine specs?

In CI it takes about 50 minutes. I am not sure what the specs of the runners are though. I avoid building it locally at all costs. 😛

My understanding is, code-server applies some patches to VSCode, effectively, we are compiling a modified version of VSCode, why is it so significantly longer than yarn watch?

Yep, your understanding is right, but you are comparing watch and build, which are very different. If you compare VS Code's yarn watch with code-server's yarn watch, it will be a much better comparison.

code-server's yarn build:vscode should be compared with VS Code's yarn gulp vscode-reh-web-linux-x64-min. Building extracts language parts, does minification and optimization, and probably some other things. Personally, I still think this does not justify how slow it is but I have not looked into VS Code to see if it can be improved.

Can I also confirm that code-server builds in parallel?

All we do is run yarn gulp vscode-reh-web-linux-x64-min. I think everything in that Gulp task is ran in series though.

@code-asher
Copy link
Member

code-asher commented Jul 10, 2024

Ah forgot about the final two questions:

Is there a bug/unoptimized parameter causing this slow build? I mean, what is causing this to be 10 times slower than VSCode?

If you compare with the right task then it should be about the same. As to why building VS Code is this slow, I do not know. Maybe they need to switch away from Gulp to something else, or maybe it has something to do with their custom loader.

How should I develop with this kind of build times? This Ubuntu VM has been given 24 xeon cores and 64GB RAM

You should only use yarn watch in development, not yarn build:vscode. Initial compilation should only be a few minutes, but the experience is still slow though, because it takes a long time in the browser to load all the sources. I think they should probably use bundling in development or at least load all the sources in parallel, but for some reason they do not.

Keep in mind when you use yarn watch to wait for the VS Code compilation. It looks like:

[Code OSS] [watch-extensions] [13:48:38] Finished compilation extensions with 0 errors after 71802 ms
[Code OSS] [watch-client    ] [13:49:47] Finished compilation with 0 errors after 140556 ms

If you access the browser before the compilation finishes, you will get an error about a missing file, because VS Code has not finished compiling yet. So if this happens just wait for the compilation before refreshing the window.

@code-asher
Copy link
Member

One thing you could try also, if you have to use yarn build:vscode, is to set the MINIFY environment variable (set it to a blank string). This will cause code-server to run vscode-reh-web-linux-x64 instead of vscode-reh-web-linux-x64-min, which means it skips the minification which should be faster.

@bilogic
Copy link
Contributor Author

bilogic commented Jul 11, 2024

Thanks, I will take up the long build times with vscode.

@code-asher
Copy link
Member

Awesome. I will close out the issue in the meantime, but if we do figure out something to speed up the time I would love to hear it.

@code-asher code-asher closed this as not planned Won't fix, can't repro, duplicate, stale Jul 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage This issue needs to be triaged by a maintainer
Projects
None yet
Development

No branches or pull requests

2 participants