mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
Merge branch 'main' into cs-reference-view-api
This commit is contained in:
commit
11b6d009a4
|
@ -25,10 +25,6 @@
|
||||||
**/src/typings/**/*.d.ts
|
**/src/typings/**/*.d.ts
|
||||||
**/src/vs/*/**/*.d.ts
|
**/src/vs/*/**/*.d.ts
|
||||||
**/src/vs/base/test/common/filters.perf.data.js
|
**/src/vs/base/test/common/filters.perf.data.js
|
||||||
**/src/vs/css.build.js
|
|
||||||
**/src/vs/css.js
|
|
||||||
**/src/vs/loader.js
|
**/src/vs/loader.js
|
||||||
**/src/vs/nls.build.js
|
|
||||||
**/src/vs/nls.js
|
|
||||||
**/test/unit/assert.js
|
**/test/unit/assert.js
|
||||||
**/typings/**
|
**/typings/**
|
||||||
|
|
|
@ -220,15 +220,11 @@
|
||||||
// - electron-main
|
// - electron-main
|
||||||
"when": "hasNode",
|
"when": "hasNode",
|
||||||
"allow": [
|
"allow": [
|
||||||
"@microsoft/applicationinsights-web",
|
|
||||||
"@parcel/watcher",
|
"@parcel/watcher",
|
||||||
"@vscode/sqlite3",
|
"@vscode/sqlite3",
|
||||||
"@vscode/vscode-languagedetection",
|
"@vscode/vscode-languagedetection",
|
||||||
"@vscode/ripgrep",
|
"@vscode/ripgrep",
|
||||||
"@vscode/iconv-lite-umd",
|
"@vscode/iconv-lite-umd",
|
||||||
"applicationinsights",
|
|
||||||
"@microsoft/1ds-core-js",
|
|
||||||
"@microsoft/1ds-post-js",
|
|
||||||
"assert",
|
"assert",
|
||||||
"child_process",
|
"child_process",
|
||||||
"console",
|
"console",
|
||||||
|
@ -263,6 +259,7 @@
|
||||||
"windows-process-tree",
|
"windows-process-tree",
|
||||||
"worker_threads",
|
"worker_threads",
|
||||||
"xterm",
|
"xterm",
|
||||||
|
"xterm-addon-canvas",
|
||||||
"xterm-addon-search",
|
"xterm-addon-search",
|
||||||
"xterm-addon-serialize",
|
"xterm-addon-serialize",
|
||||||
"xterm-addon-unicode11",
|
"xterm-addon-unicode11",
|
||||||
|
@ -277,6 +274,7 @@
|
||||||
// imports that are allowed in all /test/ files
|
// imports that are allowed in all /test/ files
|
||||||
"when": "test",
|
"when": "test",
|
||||||
"allow": [
|
"allow": [
|
||||||
|
"vs/css.build",
|
||||||
"assert",
|
"assert",
|
||||||
"sinon",
|
"sinon",
|
||||||
"sinon-test"
|
"sinon-test"
|
||||||
|
@ -331,7 +329,9 @@
|
||||||
"vs/base/~",
|
"vs/base/~",
|
||||||
"vs/base/parts/*/~",
|
"vs/base/parts/*/~",
|
||||||
"vs/platform/*/~",
|
"vs/platform/*/~",
|
||||||
"tas-client-umd" // node module allowed even in /common/
|
"tas-client-umd", // node module allowed even in /common/
|
||||||
|
"@microsoft/1ds-core-js",// node module allowed even in /common/
|
||||||
|
"@microsoft/1ds-post-js" // node module allowed even in /common/
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -445,8 +445,7 @@
|
||||||
}, // TODO@layers
|
}, // TODO@layers
|
||||||
"tas-client-umd", // node module allowed even in /common/
|
"tas-client-umd", // node module allowed even in /common/
|
||||||
"vscode-textmate", // node module allowed even in /common/
|
"vscode-textmate", // node module allowed even in /common/
|
||||||
"@vscode/vscode-languagedetection", // node module allowed even in /common/
|
"@vscode/vscode-languagedetection" // node module allowed even in /common/
|
||||||
"@microsoft/applicationinsights-web" // node module allowed even in /common/
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -537,7 +536,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "src/vs/workbench/{workbench.sandbox.main.ts,workbench.desktop.sandbox.main.ts}",
|
"target": "src/vs/workbench/workbench.desktop.main.ts",
|
||||||
"layer": "electron-sandbox",
|
"layer": "electron-sandbox",
|
||||||
"restrictions": [
|
"restrictions": [
|
||||||
"vs/base/*/~",
|
"vs/base/*/~",
|
||||||
|
@ -550,26 +549,7 @@
|
||||||
"vs/workbench/api/~",
|
"vs/workbench/api/~",
|
||||||
"vs/workbench/services/*/~",
|
"vs/workbench/services/*/~",
|
||||||
"vs/workbench/contrib/*/~",
|
"vs/workbench/contrib/*/~",
|
||||||
"vs/workbench/workbench.common.main",
|
"vs/workbench/workbench.common.main"
|
||||||
"vs/workbench/workbench.sandbox.main"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"target": "src/vs/workbench/workbench.desktop.main.ts",
|
|
||||||
"layer": "electron-browser",
|
|
||||||
"restrictions": [
|
|
||||||
"vs/base/*/~",
|
|
||||||
"vs/base/parts/*/~",
|
|
||||||
"vs/platform/*/~",
|
|
||||||
"vs/editor/~",
|
|
||||||
"vs/editor/contrib/*/~",
|
|
||||||
"vs/editor/editor.all",
|
|
||||||
"vs/workbench/~",
|
|
||||||
"vs/workbench/api/~",
|
|
||||||
"vs/workbench/services/*/~",
|
|
||||||
"vs/workbench/contrib/*/~",
|
|
||||||
"vs/workbench/workbench.common.main",
|
|
||||||
"vs/workbench/workbench.sandbox.main"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -577,7 +557,7 @@
|
||||||
"restrictions": []
|
"restrictions": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target": "src/vs/{css.d.ts,monaco.d.ts,nls.d.ts,nls.mock.ts}",
|
"target": "src/vs/{loader.d.ts,css.ts,css.build.ts,monaco.d.ts,nls.ts,nls.build.ts,nls.mock.ts}",
|
||||||
"restrictions": []
|
"restrictions": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
2
.github/classifier.json
vendored
2
.github/classifier.json
vendored
|
@ -145,7 +145,7 @@
|
||||||
"snippets": {"assign": ["jrieken"]},
|
"snippets": {"assign": ["jrieken"]},
|
||||||
"splitview": {"assign": ["joaomoreno"]},
|
"splitview": {"assign": ["joaomoreno"]},
|
||||||
"suggest": {"assign": ["jrieken"]},
|
"suggest": {"assign": ["jrieken"]},
|
||||||
"tasks": {"assign": ["alexr00"], "accuracy": 0.85},
|
"tasks": {"assign": ["meganrogge"], "accuracy": 0.85},
|
||||||
"telemetry": {"assign": []},
|
"telemetry": {"assign": []},
|
||||||
"themes": {"assign": ["aeschli"]},
|
"themes": {"assign": ["aeschli"]},
|
||||||
"timeline": {"assign": ["lramos15"]},
|
"timeline": {"assign": ["lramos15"]},
|
||||||
|
|
66
.github/commands.json
vendored
66
.github/commands.json
vendored
|
@ -15,30 +15,35 @@
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*question",
|
"name": "*question",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on [StackOverflow](https://aka.ms/vscodestackoverflow), where the community has already answered thousands of similar questions. You may find their [guide on asking a new question](https://aka.ms/vscodestackoverflowquestion) helpful if your question has not already been asked. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
"comment": "We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on [StackOverflow](https://aka.ms/vscodestackoverflow), where the community has already answered thousands of similar questions. You may find their [guide on asking a new question](https://aka.ms/vscodestackoverflowquestion) helpful if your question has not already been asked. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*dev-question",
|
"name": "*dev-question",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "We have a great developer community [over on slack](https://aka.ms/vscode-dev-community) where extension authors help each other. This is a great place for you to ask questions and find support.\n\nHappy Coding!"
|
"comment": "We have a great developer community [over on slack](https://aka.ms/vscode-dev-community) where extension authors help each other. This is a great place for you to ask questions and find support.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*extension-candidate",
|
"name": "*extension-candidate",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the [VS Code Marketplace](https://aka.ms/vscodemarketplace). Just in case, in a few simple steps you can get started [writing your own extension](https://aka.ms/vscodewritingextensions). See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
"comment": "We try to keep VS Code lean and we think the functionality you're asking for is great for a VS Code extension. Maybe you can already find one that suits you in the [VS Code Marketplace](https://aka.ms/vscodemarketplace). Just in case, in a few simple steps you can get started [writing your own extension](https://aka.ms/vscodewritingextensions). See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*not-reproducible",
|
"name": "*not-reproducible",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "We closed this issue because we are unable to reproduce the problem with the steps you describe. Chances are we've already fixed your problem in a recent version of VS Code. If not, please ask us to reopen the issue and provide us with more detail. Our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) might help you with that.\n\nHappy Coding!"
|
"comment": "We closed this issue because we are unable to reproduce the problem with the steps you describe. Chances are we've already fixed your problem in a recent version of VS Code. If not, please ask us to reopen the issue and provide us with more detail. Our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) might help you with that.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*out-of-scope",
|
"name": "*out-of-scope",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "We closed this issue because we [don't plan to address it](https://aka.ms/vscode-out-of-scope) in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.\n\nIf you wonder what we are up to, please see our [roadmap](https://aka.ms/vscoderoadmap) and [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nThanks for your understanding, and happy coding!"
|
"comment": "We closed this issue because we [don't plan to address it](https://aka.ms/vscode-out-of-scope) in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.\n\nIf you wonder what we are up to, please see our [roadmap](https://aka.ms/vscoderoadmap) and [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nThanks for your understanding, and happy coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -57,12 +62,14 @@
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*caused-by-extension",
|
"name": "*caused-by-extension",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the [marketplace](https://aka.ms/vscodemarketplace) for VS Code. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
"comment": "This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the [marketplace](https://aka.ms/vscodemarketplace) for VS Code. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*as-designed",
|
"name": "*as-designed",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "The described behavior is how it is expected to work. If you disagree, please explain what is expected and what is not in more detail. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
"comment": "The described behavior is how it is expected to work. If you disagree, please explain what is expected and what is not in more detail. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -104,6 +111,7 @@
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*duplicate",
|
"name": "*duplicate",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for [similar existing issues](${duplicateQuery}). See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
"comment": "Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for [similar existing issues](${duplicateQuery}). See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -154,7 +162,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "updateLabels",
|
"action": "updateLabels",
|
||||||
"addLabel": "~needs more info"
|
"addLabel": "~info-needed"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "comment",
|
"type": "comment",
|
||||||
|
@ -165,14 +173,14 @@
|
||||||
"gjsjohnmurray",
|
"gjsjohnmurray",
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"addLabel": "needs more info",
|
"addLabel": "info-needed",
|
||||||
"comment": "Thanks for creating this issue regarding performance! Please follow this guide to help us diagnose performance issues: https://github.com/microsoft/vscode/wiki/Performance-Issues \n\nHappy Coding!"
|
"comment": "Thanks for creating this issue regarding performance! Please follow this guide to help us diagnose performance issues: https://github.com/microsoft/vscode/wiki/Performance-Issues \n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "comment",
|
"type": "comment",
|
||||||
"name": "jsDebugLogs",
|
"name": "jsDebugLogs",
|
||||||
"action": "updateLabels",
|
"action": "updateLabels",
|
||||||
"addLabel": "needs more info",
|
"addLabel": "info-needed",
|
||||||
"comment": "Please collect trace logs using the following instructions:\n\n> If you're able to, add `\"trace\": true` to your `launch.json` and reproduce the issue. The location of the log file on your disk will be written to the Debug Console. Share that with us.\n>\n> ⚠️ This log file will not contain source code, but will contain file paths. You can drop it into https://microsoft.github.io/vscode-pwa-analyzer/index.html to see what it contains. If you'd rather not share the log publicly, you can email it to connor@xbox.com"
|
"comment": "Please collect trace logs using the following instructions:\n\n> If you're able to, add `\"trace\": true` to your `launch.json` and reproduce the issue. The location of the log file on your disk will be written to the Debug Console. Share that with us.\n>\n> ⚠️ This log file will not contain source code, but will contain file paths. You can drop it into https://microsoft.github.io/vscode-pwa-analyzer/index.html to see what it contains. If you'd rather not share the log publicly, you can email it to connor@xbox.com"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -185,22 +193,23 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "completed",
|
||||||
"addLabel": "unreleased"
|
"addLabel": "unreleased"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "~needs more info",
|
"name": "~info-needed",
|
||||||
"action": "updateLabels",
|
"action": "updateLabels",
|
||||||
"addLabel": "needs more info",
|
"addLabel": "info-needed",
|
||||||
"removeLabel": "~needs more info",
|
"removeLabel": "~info-needed",
|
||||||
"comment": "Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our [issue reporting guidelines](https://aka.ms/vscodeissuereporting). Please take the time to review these and update the issue.\n\nHappy Coding!"
|
"comment": "Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our [issue reporting guidelines](https://aka.ms/vscodeissuereporting). Please take the time to review these and update the issue.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "~needs version info",
|
"name": "~version-info-needed",
|
||||||
"action": "updateLabels",
|
"action": "updateLabels",
|
||||||
"addLabel": "needs more info",
|
"addLabel": "info-needed",
|
||||||
"removeLabel": "~needs version info",
|
"removeLabel": "~version-info-needed",
|
||||||
"comment": "Thanks for creating this issue! We figured it's missing some basic information, such as a version number, or in some other way doesn't follow our [issue reporting guidelines](https://aka.ms/vscodeissuereporting). Please take the time to review these and update the issue.\n\nHappy Coding!"
|
"comment": "Thanks for creating this issue! We figured it's missing some basic information, such as a version number, or in some other way doesn't follow our [issue reporting guidelines](https://aka.ms/vscodeissuereporting). Please take the time to review these and update the issue.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -222,6 +231,7 @@
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*off-topic",
|
"name": "*off-topic",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "Thanks for creating this issue. We think this issue is unactionable or unrelated to the goals of this project. Please follow our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
"comment": "Thanks for creating this issue. We think this issue is unactionable or unrelated to the goals of this project. Please follow our [issue reporting guidelines](https://aka.ms/vscodeissuereporting).\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -234,6 +244,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the Python extension. Please file the issue to the [Python extension repository](https://github.com/microsoft/vscode-python). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the Python extension. Please file the issue to the [Python extension repository](https://github.com/microsoft/vscode-python). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -247,6 +258,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the Jupyter extension. Please file the issue to the [Jupyter extension repository](https://github.com/microsoft/vscode-jupyter). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the Jupyter extension. Please file the issue to the [Jupyter extension repository](https://github.com/microsoft/vscode-jupyter). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -260,6 +272,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the C extension. Please file the issue to the [C extension repository](https://github.com/microsoft/vscode-cpptools). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the C extension. Please file the issue to the [C extension repository](https://github.com/microsoft/vscode-cpptools). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -273,6 +286,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the C++ extension. Please file the issue to the [C++ extension repository](https://github.com/microsoft/vscode-cpptools). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the C++ extension. Please file the issue to the [C++ extension repository](https://github.com/microsoft/vscode-cpptools). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -286,6 +300,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the C++ extension. Please file the issue to the [C++ extension repository](https://github.com/microsoft/vscode-cpptools). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the C++ extension. Please file the issue to the [C++ extension repository](https://github.com/microsoft/vscode-cpptools). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -299,6 +314,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the TypeScript language service. Please file the issue to the [TypeScript repository](https://github.com/microsoft/TypeScript/). Make sure to check their [contributing guidelines](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the TypeScript language service. Please file the issue to the [TypeScript repository](https://github.com/microsoft/TypeScript/). Make sure to check their [contributing guidelines](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -312,6 +328,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the TypeScript/JavaScript language service. Please file the issue to the [TypeScript repository](https://github.com/microsoft/TypeScript/). Make sure to check their [contributing guidelines](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the TypeScript/JavaScript language service. Please file the issue to the [TypeScript repository](https://github.com/microsoft/TypeScript/). Make sure to check their [contributing guidelines](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -325,6 +342,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the C# extension. Please file the issue to the [C# extension repository](https://github.com/OmniSharp/omnisharp-vscode.git). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the C# extension. Please file the issue to the [C# extension repository](https://github.com/OmniSharp/omnisharp-vscode.git). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -351,6 +369,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the PowerShell extension. Please file the issue to the [PowerShell extension repository](https://github.com/PowerShell/vscode-powershell). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the PowerShell extension. Please file the issue to the [PowerShell extension repository](https://github.com/PowerShell/vscode-powershell). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -364,6 +383,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the LiveShare extension. Please file the issue to the [LiveShare repository](https://github.com/MicrosoftDocs/live-share). Make sure to check their [contributing guidelines](https://github.com/MicrosoftDocs/live-share/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the LiveShare extension. Please file the issue to the [LiveShare repository](https://github.com/MicrosoftDocs/live-share). Make sure to check their [contributing guidelines](https://github.com/MicrosoftDocs/live-share/blob/master/CONTRIBUTING.md) and provide relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -377,6 +397,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the Docker extension. Please file the issue to the [Docker extension repository](https://github.com/microsoft/vscode-docker). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the Docker extension. Please file the issue to the [Docker extension repository](https://github.com/microsoft/vscode-docker). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -390,6 +411,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the Java extension. Please file the issue to the [Java extension repository](https://github.com/redhat-developer/vscode-java). Make sure to check their [troubleshooting instructions](https://github.com/redhat-developer/vscode-java/wiki/Troubleshooting) and provide relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the Java extension. Please file the issue to the [Java extension repository](https://github.com/redhat-developer/vscode-java). Make sure to check their [troubleshooting instructions](https://github.com/redhat-developer/vscode-java/wiki/Troubleshooting) and provide relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
@ -403,9 +425,24 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"addLabel": "*caused-by-extension",
|
"addLabel": "*caused-by-extension",
|
||||||
"comment": "It looks like this is caused by the Java Debugger extension. Please file the issue to the [Java Debugger repository](https://github.com/microsoft/vscode-java-debug). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
"comment": "It looks like this is caused by the Java Debugger extension. Please file the issue to the [Java Debugger repository](https://github.com/microsoft/vscode-java-debug). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "comment",
|
||||||
|
"name": "extCodespaces",
|
||||||
|
"allowUsers": [
|
||||||
|
"cleidigh",
|
||||||
|
"usernamehw",
|
||||||
|
"gjsjohnmurray",
|
||||||
|
"IllusionMH"
|
||||||
|
],
|
||||||
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
|
"addLabel": "*caused-by-extension",
|
||||||
|
"comment": "It looks like this is caused by the Codespaces extension. Please file the issue in the [Codespaces Discussion Forum](http://aka.ms/ghcs-feedback). Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our [issue reporting guidelines](https://aka.ms/vscodeissuereporting) for more information.\n\nHappy Coding!"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "comment",
|
"type": "comment",
|
||||||
"name": "gifPlease",
|
"name": "gifPlease",
|
||||||
|
@ -416,7 +453,7 @@
|
||||||
"IllusionMH"
|
"IllusionMH"
|
||||||
],
|
],
|
||||||
"action": "comment",
|
"action": "comment",
|
||||||
"addLabel": "needs more info",
|
"addLabel": "info-needed",
|
||||||
"comment": "Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, `.gif` files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.\n\nIf the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (`Developer: Toggle Screencast Mode` in the command palette).\n\nHappy coding!"
|
"comment": "Thanks for reporting this issue! Unfortunately, it's hard for us to understand what issue you're seeing. Please help us out by providing a screen recording showing exactly what isn't working as expected. While we can work with most standard formats, `.gif` files are preferred as they are displayed inline on GitHub. You may find https://gifcap.dev helpful as a browser-based gif recording tool.\n\nIf the issue depends on keyboard input, you can help us by enabling screencast mode for the recording (`Developer: Toggle Screencast Mode` in the command palette).\n\nHappy coding!"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -439,6 +476,15 @@
|
||||||
"type": "label",
|
"type": "label",
|
||||||
"name": "*workspace-trust-docs",
|
"name": "*workspace-trust-docs",
|
||||||
"action": "close",
|
"action": "close",
|
||||||
|
"reason": "not_planned",
|
||||||
"comment": "This issue appears to be the result of the new workspace trust feature shipped in June 2021. This security-focused feature has major impact on the functionality of VS Code. Due to the volume of issues, we ask that you take some time to review our [comprehensive documentation](https://aka.ms/vscode-workspace-trust) on the feature. If your issue is still not resolved, please let us know."
|
"comment": "This issue appears to be the result of the new workspace trust feature shipped in June 2021. This security-focused feature has major impact on the functionality of VS Code. Due to the volume of issues, we ask that you take some time to review our [comprehensive documentation](https://aka.ms/vscode-workspace-trust) on the feature. If your issue is still not resolved, please let us know."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"name": "~verification-steps-needed",
|
||||||
|
"action": "updateLabels",
|
||||||
|
"addLabel": "verification-steps-needed",
|
||||||
|
"removeLabel": "~verification-steps-needed",
|
||||||
|
"comment": "Friendly ping! Looks like this issue requires some further steps to be verified. Please provide us with the steps necessary to verify this issue."
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
|
@ -5,5 +5,3 @@
|
||||||
* Ensure that the code is up-to-date with the `main` branch.
|
* Ensure that the code is up-to-date with the `main` branch.
|
||||||
* Include a description of the proposed changes and how to test them.
|
* Include a description of the proposed changes and how to test them.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
This PR fixes #
|
|
||||||
|
|
19
.github/workflows/basic.yml
vendored
19
.github/workflows/basic.yml
vendored
|
@ -22,8 +22,6 @@ jobs:
|
||||||
# TODO: rename azure-pipelines/linux/xvfb.init to github-actions
|
# TODO: rename azure-pipelines/linux/xvfb.init to github-actions
|
||||||
- name: Setup Build Environment
|
- name: Setup Build Environment
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
|
|
||||||
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
||||||
sudo chmod +x /etc/init.d/xvfb
|
sudo chmod +x /etc/init.d/xvfb
|
||||||
sudo update-rc.d xvfb defaults
|
sudo update-rc.d xvfb defaults
|
||||||
|
@ -41,8 +39,7 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: "**/node_modules"
|
path: "**/node_modules"
|
||||||
key: ${{ runner.os }}-cacheNodeModules22-${{ steps.nodeModulesCacheKey.outputs.value }}
|
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||||
restore-keys: ${{ runner.os }}-cacheNodeModules22-
|
|
||||||
- name: Get yarn cache directory path
|
- name: Get yarn cache directory path
|
||||||
id: yarnCacheDirPath
|
id: yarnCacheDirPath
|
||||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||||
|
@ -62,10 +59,7 @@ jobs:
|
||||||
run: yarn --frozen-lockfile --network-timeout 180000
|
run: yarn --frozen-lockfile --network-timeout 180000
|
||||||
|
|
||||||
- name: Compile and Download
|
- name: Compile and Download
|
||||||
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
|
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64"
|
||||||
|
|
||||||
- name: Compile Integration Tests
|
|
||||||
run: yarn --cwd test/integration/browser compile
|
|
||||||
|
|
||||||
- name: Run Unit Tests
|
- name: Run Unit Tests
|
||||||
id: electron-unit-tests
|
id: electron-unit-tests
|
||||||
|
@ -97,8 +91,7 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: "**/node_modules"
|
path: "**/node_modules"
|
||||||
key: ${{ runner.os }}-cacheNodeModules22-${{ steps.nodeModulesCacheKey.outputs.value }}
|
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||||
restore-keys: ${{ runner.os }}-cacheNodeModules22-
|
|
||||||
- name: Get yarn cache directory path
|
- name: Get yarn cache directory path
|
||||||
id: yarnCacheDirPath
|
id: yarnCacheDirPath
|
||||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||||
|
@ -117,9 +110,6 @@ jobs:
|
||||||
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
||||||
run: yarn --frozen-lockfile --network-timeout 180000
|
run: yarn --frozen-lockfile --network-timeout 180000
|
||||||
|
|
||||||
- name: Download Playwright
|
|
||||||
run: yarn playwright-install
|
|
||||||
|
|
||||||
- name: Run Hygiene Checks
|
- name: Run Hygiene Checks
|
||||||
run: yarn gulp hygiene
|
run: yarn gulp hygiene
|
||||||
|
|
||||||
|
@ -163,8 +153,7 @@ jobs:
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: "**/node_modules"
|
path: "**/node_modules"
|
||||||
key: ${{ runner.os }}-cacheNodeModules22-${{ steps.nodeModulesCacheKey.outputs.value }}
|
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||||
restore-keys: ${{ runner.os }}-cacheNodeModules22-
|
|
||||||
- name: Get yarn cache directory path
|
- name: Get yarn cache directory path
|
||||||
id: yarnCacheDirPath
|
id: yarnCacheDirPath
|
||||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||||
|
|
9
.github/workflows/ci.yml
vendored
9
.github/workflows/ci.yml
vendored
|
@ -125,8 +125,7 @@ jobs:
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: "**/node_modules"
|
path: "**/node_modules"
|
||||||
key: ${{ runner.os }}-cacheNodeModules22-${{ steps.nodeModulesCacheKey.outputs.value }}
|
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||||
restore-keys: ${{ runner.os }}-cacheNodeModules22-
|
|
||||||
- name: Get yarn cache directory path
|
- name: Get yarn cache directory path
|
||||||
id: yarnCacheDirPath
|
id: yarnCacheDirPath
|
||||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||||
|
@ -197,8 +196,7 @@ jobs:
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: "**/node_modules"
|
path: "**/node_modules"
|
||||||
key: ${{ runner.os }}-cacheNodeModules22-${{ steps.nodeModulesCacheKey.outputs.value }}
|
key: ${{ runner.os }}-cacheNodeModulesMacOS-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||||
restore-keys: ${{ runner.os }}-cacheNodeModules22-
|
|
||||||
- name: Get yarn cache directory path
|
- name: Get yarn cache directory path
|
||||||
id: yarnCacheDirPath
|
id: yarnCacheDirPath
|
||||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||||
|
@ -271,8 +269,7 @@ jobs:
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v2
|
||||||
with:
|
with:
|
||||||
path: "**/node_modules"
|
path: "**/node_modules"
|
||||||
key: ${{ runner.os }}-cacheNodeModules22-${{ steps.nodeModulesCacheKey.outputs.value }}
|
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||||
restore-keys: ${{ runner.os }}-cacheNodeModules22-
|
|
||||||
- name: Get yarn cache directory path
|
- name: Get yarn cache directory path
|
||||||
id: yarnCacheDirPath
|
id: yarnCacheDirPath
|
||||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||||
|
|
6
.github/workflows/codeql.yml
vendored
6
.github/workflows/codeql.yml
vendored
|
@ -24,14 +24,14 @@ jobs:
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v2
|
||||||
with:
|
with:
|
||||||
languages: javascript
|
languages: javascript
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v1
|
uses: github/codeql-action/autobuild@v2
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
|
@ -45,4 +45,4 @@ jobs:
|
||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v2
|
||||||
|
|
2
.github/workflows/deep-classifier-runner.yml
vendored
2
.github/workflows/deep-classifier-runner.yml
vendored
|
@ -46,7 +46,7 @@ jobs:
|
||||||
uses: ./actions/classifier-deep/apply/apply-labels
|
uses: ./actions/classifier-deep/apply/apply-labels
|
||||||
with:
|
with:
|
||||||
configPath: classifier
|
configPath: classifier
|
||||||
allowLabels: "needs more info|new release|error-telemetry|*english-please|translation-required"
|
allowLabels: "info-needed|new release|error-telemetry|*english-please|translation-required"
|
||||||
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
||||||
manifestDbConnectionString: ${{secrets.MANIFEST_DB_CONNECTION_STRING}}
|
manifestDbConnectionString: ${{secrets.MANIFEST_DB_CONNECTION_STRING}}
|
||||||
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
|
2
.github/workflows/english-please.yml
vendored
2
.github/workflows/english-please.yml
vendored
|
@ -24,6 +24,6 @@ jobs:
|
||||||
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
cognitiveServicesAPIKey: ${{secrets.AZURE_TEXT_TRANSLATOR_KEY}}
|
cognitiveServicesAPIKey: ${{secrets.AZURE_TEXT_TRANSLATOR_KEY}}
|
||||||
nonEnglishLabel: "*english-please"
|
nonEnglishLabel: "*english-please"
|
||||||
needsMoreInfoLabel: "needs more info"
|
needsMoreInfoLabel: "info-needed"
|
||||||
translatorRequestedLabelPrefix: "translation-required-"
|
translatorRequestedLabelPrefix: "translation-required-"
|
||||||
translatorRequestedLabelColor: "c29cff"
|
translatorRequestedLabelColor: "c29cff"
|
||||||
|
|
6
.github/workflows/needs-more-info-closer.yml
vendored
6
.github/workflows/needs-more-info-closer.yml
vendored
|
@ -1,4 +1,4 @@
|
||||||
name: Needs More Info Closer
|
name: info-needed Closer
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: 20 11 * * * # 4:20am Redmond
|
- cron: 20 11 * * * # 4:20am Redmond
|
||||||
|
@ -17,12 +17,12 @@ jobs:
|
||||||
ref: stable
|
ref: stable
|
||||||
- name: Install Actions
|
- name: Install Actions
|
||||||
run: npm install --production --prefix ./actions
|
run: npm install --production --prefix ./actions
|
||||||
- name: Run Needs More Info Closer
|
- name: Run info-needed Closer
|
||||||
uses: ./actions/needs-more-info-closer
|
uses: ./actions/needs-more-info-closer
|
||||||
with:
|
with:
|
||||||
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
||||||
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
label: needs more info
|
label: info-needed
|
||||||
closeDays: 7
|
closeDays: 7
|
||||||
additionalTeam: "cleidigh|usernamehw|gjsjohnmurray|IllusionMH"
|
additionalTeam: "cleidigh|usernamehw|gjsjohnmurray|IllusionMH"
|
||||||
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
closeComment: "This issue has been closed automatically because it needs more information and has not had recent activity. See also our [issue reporting](https://aka.ms/vscodeissuereporting) guidelines.\n\nHappy Coding!"
|
||||||
|
|
3
.github/workflows/no-yarn-lock-changes.yml
vendored
3
.github/workflows/no-yarn-lock-changes.yml
vendored
|
@ -18,8 +18,9 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
echo "user: ${{ github.event.pull_request.user.login }}"
|
echo "user: ${{ github.event.pull_request.user.login }}"
|
||||||
echo "role: ${{ fromJson(steps.get_permissions.outputs.data).permission }}"
|
echo "role: ${{ fromJson(steps.get_permissions.outputs.data).permission }}"
|
||||||
|
echo "is dependabot: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}"
|
||||||
echo "should_run: ${{ !contains(fromJson('["admin", "write"]'), fromJson(steps.get_permissions.outputs.data).permission) }}"
|
echo "should_run: ${{ !contains(fromJson('["admin", "write"]'), fromJson(steps.get_permissions.outputs.data).permission) }}"
|
||||||
echo "::set-output name=should_run::${{ !contains(fromJson('["admin", "write"]'), fromJson(steps.get_permissions.outputs.data).permission) }}"
|
echo "::set-output name=should_run::${{ !contains(fromJson('["admin", "write"]'), fromJson(steps.get_permissions.outputs.data).permission) && github.event.pull_request.user.login != 'dependabot[bot]' }}"
|
||||||
- name: Get file changes
|
- name: Get file changes
|
||||||
uses: trilom/file-changes-action@ce38c8ce2459ca3c303415eec8cb0409857b4272
|
uses: trilom/file-changes-action@ce38c8ce2459ca3c303415eec8cb0409857b4272
|
||||||
if: ${{ steps.control.outputs.should_run == 'true' }}
|
if: ${{ steps.control.outputs.should_run == 'true' }}
|
||||||
|
|
5
.github/workflows/on-label.yml
vendored
5
.github/workflows/on-label.yml
vendored
|
@ -71,7 +71,8 @@ jobs:
|
||||||
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
||||||
uses: ./actions/test-plan-item-validator
|
uses: ./actions/test-plan-item-validator
|
||||||
with:
|
with:
|
||||||
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
refLabel: on-testplan
|
||||||
label: testplan-item
|
label: testplan-item
|
||||||
invalidLabel: invalid-testplan-item
|
invalidLabel: invalid-testplan-item
|
||||||
comment: Invalid test plan item. See errors below and the [test plan item spec](https://github.com/microsoft/vscode/wiki/Writing-Test-Plan-Items) for more information. This comment will go away when the issues are resolved.
|
comment: Invalid test plan item. See errors below and the [test plan item spec](https://github.com/microsoft/vscode/wiki/Writing-Test-Plan-Items) for more information. This comment will go away when the issues are resolved.
|
||||||
|
@ -85,6 +86,6 @@ jobs:
|
||||||
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
cognitiveServicesAPIKey: ${{secrets.AZURE_TEXT_TRANSLATOR_KEY}}
|
cognitiveServicesAPIKey: ${{secrets.AZURE_TEXT_TRANSLATOR_KEY}}
|
||||||
nonEnglishLabel: "*english-please"
|
nonEnglishLabel: "*english-please"
|
||||||
needsMoreInfoLabel: "needs more info"
|
needsMoreInfoLabel: "info-needed"
|
||||||
translatorRequestedLabelPrefix: "translation-required-"
|
translatorRequestedLabelPrefix: "translation-required-"
|
||||||
translatorRequestedLabelColor: "c29cff"
|
translatorRequestedLabelColor: "c29cff"
|
||||||
|
|
12
.github/workflows/on-open.yml
vendored
12
.github/workflows/on-open.yml
vendored
|
@ -59,6 +59,16 @@ jobs:
|
||||||
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
||||||
cognitiveServicesAPIKey: ${{secrets.AZURE_TEXT_TRANSLATOR_KEY}}
|
cognitiveServicesAPIKey: ${{secrets.AZURE_TEXT_TRANSLATOR_KEY}}
|
||||||
nonEnglishLabel: "*english-please"
|
nonEnglishLabel: "*english-please"
|
||||||
needsMoreInfoLabel: "needs more info"
|
needsMoreInfoLabel: "info-needed"
|
||||||
translatorRequestedLabelPrefix: "translation-required-"
|
translatorRequestedLabelPrefix: "translation-required-"
|
||||||
translatorRequestedLabelColor: "c29cff"
|
translatorRequestedLabelColor: "c29cff"
|
||||||
|
# source of truth in ./test-plan-item-validator.yml
|
||||||
|
- name: Run Test Plan Item Validator
|
||||||
|
uses: ./actions/test-plan-item-validator
|
||||||
|
with:
|
||||||
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
refLabel: on-testplan
|
||||||
|
label: testplan-item
|
||||||
|
invalidLabel: invalid-testplan-item
|
||||||
|
comment: Invalid test plan item. See errors below and the [test plan item spec](https://github.com/microsoft/vscode/wiki/Writing-Test-Plan-Items) for more information. This comment will go away when the issues are resolved.
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ on:
|
||||||
issues:
|
issues:
|
||||||
types: [edited]
|
types: [edited]
|
||||||
|
|
||||||
# also edit in ./on-label.yml
|
# also edit in ./on-label.yml and ./on-open.yml
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -22,7 +22,8 @@ jobs:
|
||||||
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
if: contains(github.event.issue.labels.*.name, 'testplan-item') || contains(github.event.issue.labels.*.name, 'invalid-testplan-item')
|
||||||
uses: ./actions/test-plan-item-validator
|
uses: ./actions/test-plan-item-validator
|
||||||
with:
|
with:
|
||||||
|
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||||
|
refLabel: on-testplan
|
||||||
label: testplan-item
|
label: testplan-item
|
||||||
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
|
||||||
invalidLabel: invalid-testplan-item
|
invalidLabel: invalid-testplan-item
|
||||||
comment: Invalid test plan item. See errors below and the [test plan item spec](https://github.com/microsoft/vscode/wiki/Writing-Test-Plan-Items) for more information. This comment will go away when the issues are resolved.
|
comment: Invalid test plan item. See errors below and the [test plan item spec](https://github.com/microsoft/vscode/wiki/Writing-Test-Plan-Items) for more information. This comment will go away when the issues are resolved.
|
||||||
|
|
53
.vscode/launch.json
vendored
53
.vscode/launch.json
vendored
|
@ -24,7 +24,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "pwa-chrome",
|
"type": "chrome",
|
||||||
"request": "attach",
|
"request": "attach",
|
||||||
"name": "Attach to Shared Process",
|
"name": "Attach to Shared Process",
|
||||||
"timeout": 30000,
|
"timeout": 30000,
|
||||||
|
@ -92,6 +92,23 @@
|
||||||
"order": 6
|
"order": 6
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "extensionHost",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "VS Code Configuration Editing Tests",
|
||||||
|
"runtimeExecutable": "${execPath}",
|
||||||
|
"args": [
|
||||||
|
"--extensionDevelopmentPath=${workspaceFolder}/extensions/configuration-editing",
|
||||||
|
"--extensionTestsPath=${workspaceFolder}/extensions/configuration-editing/out/test"
|
||||||
|
],
|
||||||
|
"outFiles": [
|
||||||
|
"${workspaceFolder}/out/**/*.js"
|
||||||
|
],
|
||||||
|
"presentation": {
|
||||||
|
"group": "5_tests",
|
||||||
|
"order": 6
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "extensionHost",
|
"type": "extensionHost",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
|
@ -185,25 +202,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "extensionHost",
|
"type": "chrome",
|
||||||
"request": "launch",
|
|
||||||
"name": "VS Code Custom Editor Tests",
|
|
||||||
"runtimeExecutable": "${execPath}",
|
|
||||||
"args": [
|
|
||||||
"${workspaceFolder}/extensions/vscode-custom-editor-tests/test-workspace",
|
|
||||||
"--extensionDevelopmentPath=${workspaceFolder}/extensions/vscode-custom-editor-tests",
|
|
||||||
"--extensionTestsPath=${workspaceFolder}/extensions/vscode-custom-editor-tests/out/test"
|
|
||||||
],
|
|
||||||
"outFiles": [
|
|
||||||
"${workspaceFolder}/out/**/*.js"
|
|
||||||
],
|
|
||||||
"presentation": {
|
|
||||||
"group": "5_tests",
|
|
||||||
"order": 6
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "pwa-chrome",
|
|
||||||
"request": "attach",
|
"request": "attach",
|
||||||
"name": "Attach to VS Code",
|
"name": "Attach to VS Code",
|
||||||
"browserAttachLocation": "workspace",
|
"browserAttachLocation": "workspace",
|
||||||
|
@ -217,7 +216,7 @@
|
||||||
"perScriptSourcemaps": "yes"
|
"perScriptSourcemaps": "yes"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "pwa-chrome",
|
"type": "chrome",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "Launch VS Code Internal",
|
"name": "Launch VS Code Internal",
|
||||||
"windows": {
|
"windows": {
|
||||||
|
@ -259,7 +258,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "pwa-node",
|
"type": "node",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "VS Code Server (Web)",
|
"name": "VS Code Server (Web)",
|
||||||
"runtimeExecutable": "${workspaceFolder}/scripts/code-server.sh",
|
"runtimeExecutable": "${workspaceFolder}/scripts/code-server.sh",
|
||||||
|
@ -275,7 +274,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "pwa-node",
|
"type": "node",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "Main Process",
|
"name": "Main Process",
|
||||||
"attachSimplePort": 5875,
|
"attachSimplePort": 5875,
|
||||||
|
@ -296,7 +295,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "pwa-chrome",
|
"type": "chrome",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"outFiles": [],
|
"outFiles": [],
|
||||||
"perScriptSourcemaps": "yes",
|
"perScriptSourcemaps": "yes",
|
||||||
|
@ -309,7 +308,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "pwa-msedge",
|
"type": "msedge",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"outFiles": [],
|
"outFiles": [],
|
||||||
"perScriptSourcemaps": "yes",
|
"perScriptSourcemaps": "yes",
|
||||||
|
@ -404,7 +403,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "pwa-node",
|
"type": "node",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "Run Unit Tests",
|
"name": "Run Unit Tests",
|
||||||
"program": "${workspaceFolder}/test/unit/electron/index.js",
|
"program": "${workspaceFolder}/test/unit/electron/index.js",
|
||||||
|
@ -434,7 +433,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "pwa-node",
|
"type": "node",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"name": "Run Unit Tests For Current File",
|
"name": "Run Unit Tests For Current File",
|
||||||
"program": "${workspaceFolder}/test/unit/electron/index.js",
|
"program": "${workspaceFolder}/test/unit/electron/index.js",
|
||||||
|
|
2
.vscode/notebooks/api.github-issues
vendored
2
.vscode/notebooks/api.github-issues
vendored
|
@ -7,7 +7,7 @@
|
||||||
{
|
{
|
||||||
"kind": 2,
|
"kind": 2,
|
||||||
"language": "github-issues",
|
"language": "github-issues",
|
||||||
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"June 2022\""
|
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"August 2022\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"kind": 1,
|
"kind": 1,
|
||||||
|
|
2
.vscode/notebooks/endgame.github-issues
vendored
2
.vscode/notebooks/endgame.github-issues
vendored
|
@ -7,7 +7,7 @@
|
||||||
{
|
{
|
||||||
"kind": 2,
|
"kind": 2,
|
||||||
"language": "github-issues",
|
"language": "github-issues",
|
||||||
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-unpkg\r\n\r\n$MILESTONE=milestone:\"May 2022\""
|
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-unpkg\n\n$MILESTONE=milestone:\"July 2022\""
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"kind": 1,
|
"kind": 1,
|
||||||
|
|
2
.vscode/notebooks/inbox.github-issues
vendored
2
.vscode/notebooks/inbox.github-issues
vendored
|
@ -7,7 +7,7 @@
|
||||||
{
|
{
|
||||||
"kind": 2,
|
"kind": 2,
|
||||||
"language": "github-issues",
|
"language": "github-issues",
|
||||||
"value": "$inbox -label:\"needs more info\" sort:created-desc"
|
"value": "$inbox -label:\"info-needed\" sort:created-desc"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"kind": 2,
|
"kind": 2,
|
||||||
|
|
4
.vscode/notebooks/my-endgame.github-issues
vendored
4
.vscode/notebooks/my-endgame.github-issues
vendored
|
@ -7,7 +7,7 @@
|
||||||
{
|
{
|
||||||
"kind": 2,
|
"kind": 2,
|
||||||
"language": "github-issues",
|
"language": "github-issues",
|
||||||
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"May 2022\"\n\n$MINE=assignee:@me"
|
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"July 2022\"\n\n$MINE=assignee:@me"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"kind": 1,
|
"kind": 1,
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
{
|
{
|
||||||
"kind": 2,
|
"kind": 2,
|
||||||
"language": "github-issues",
|
"language": "github-issues",
|
||||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed author:@me sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:needs-triage -label:verification-found"
|
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed author:@me sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:triage-needed -label:verification-found"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"kind": 1,
|
"kind": 1,
|
||||||
|
|
8
.vscode/notebooks/my-work.github-issues
vendored
8
.vscode/notebooks/my-work.github-issues
vendored
File diff suppressed because one or more lines are too long
1
.vscode/settings.json
vendored
1
.vscode/settings.json
vendored
|
@ -73,6 +73,7 @@
|
||||||
],
|
],
|
||||||
"git.branchProtectionPrompt": "alwaysCommitToNewBranch",
|
"git.branchProtectionPrompt": "alwaysCommitToNewBranch",
|
||||||
"git.branchRandomName.enable": true,
|
"git.branchRandomName.enable": true,
|
||||||
|
"git.mergeEditor": true,
|
||||||
"remote.extensionKind": {
|
"remote.extensionKind": {
|
||||||
"msjsdiag.debugger-for-chrome": "workspace"
|
"msjsdiag.debugger-for-chrome": "workspace"
|
||||||
},
|
},
|
||||||
|
|
2
.yarnrc
2
.yarnrc
|
@ -1,4 +1,4 @@
|
||||||
disturl "https://electronjs.org/headers"
|
disturl "https://electronjs.org/headers"
|
||||||
target "18.3.2"
|
target "19.0.12"
|
||||||
runtime "electron"
|
runtime "electron"
|
||||||
build_from_source "true"
|
build_from_source "true"
|
||||||
|
|
|
@ -7,7 +7,7 @@ This project incorporates components from the projects listed below. The origina
|
||||||
|
|
||||||
1. atom/language-clojure version 0.22.8 (https://github.com/atom/language-clojure)
|
1. atom/language-clojure version 0.22.8 (https://github.com/atom/language-clojure)
|
||||||
2. atom/language-coffee-script version 0.49.3 (https://github.com/atom/language-coffee-script)
|
2. atom/language-coffee-script version 0.49.3 (https://github.com/atom/language-coffee-script)
|
||||||
3. atom/language-css version 0.45.0 (https://github.com/atom/language-css)
|
3. atom/language-css version 0.45.1 (https://github.com/atom/language-css)
|
||||||
4. atom/language-java version 0.32.1 (https://github.com/atom/language-java)
|
4. atom/language-java version 0.32.1 (https://github.com/atom/language-java)
|
||||||
5. atom/language-sass version 0.62.1 (https://github.com/atom/language-sass)
|
5. atom/language-sass version 0.62.1 (https://github.com/atom/language-sass)
|
||||||
6. atom/language-shellscript version 0.28.2 (https://github.com/atom/language-shellscript)
|
6. atom/language-shellscript version 0.28.2 (https://github.com/atom/language-shellscript)
|
||||||
|
@ -30,50 +30,53 @@ This project incorporates components from the projects listed below. The origina
|
||||||
23. Ionic documentation version 1.2.4 (https://github.com/ionic-team/ionic-site)
|
23. Ionic documentation version 1.2.4 (https://github.com/ionic-team/ionic-site)
|
||||||
24. ionide/ionide-fsgrammar (https://github.com/ionide/ionide-fsgrammar)
|
24. ionide/ionide-fsgrammar (https://github.com/ionide/ionide-fsgrammar)
|
||||||
25. James-Yu/LaTeX-Workshop version 8.19.1 (https://github.com/James-Yu/LaTeX-Workshop)
|
25. James-Yu/LaTeX-Workshop version 8.19.1 (https://github.com/James-Yu/LaTeX-Workshop)
|
||||||
26. jeff-hykin/cpp-textmate-grammar version 1.12.11 (https://github.com/jeff-hykin/cpp-textmate-grammar)
|
26. jeff-hykin/better-c-syntax version 1.13.2 (https://github.com/jeff-hykin/better-c-syntax)
|
||||||
27. jeff-hykin/cpp-textmate-grammar version 1.15.6 (https://github.com/jeff-hykin/cpp-textmate-grammar)
|
27. jeff-hykin/better-cpp-syntax version 1.15.18 (https://github.com/jeff-hykin/better-cpp-syntax)
|
||||||
28. jlelong/vscode-latex-basics version 1.3.0 (https://github.com/jlelong/vscode-latex-basics)
|
28. jeff-hykin/better-objc-syntax version 0.2.0 (https://github.com/jeff-hykin/better-objc-syntax)
|
||||||
29. js-beautify version 1.6.8 (https://github.com/beautify-web/js-beautify)
|
29. jeff-hykin/better-objcpp-syntax version 0.1.0 (https://github.com/jeff-hykin/better-objcpp-syntax)
|
||||||
30. JuliaEditorSupport/atom-language-julia version 0.22.1 (https://github.com/JuliaEditorSupport/atom-language-julia)
|
30. jlelong/vscode-latex-basics version 1.3.0 (https://github.com/jlelong/vscode-latex-basics)
|
||||||
31. Jxck/assert version 1.0.0 (https://github.com/Jxck/assert)
|
31. js-beautify version 1.6.8 (https://github.com/beautify-web/js-beautify)
|
||||||
32. language-docker (https://github.com/moby/moby)
|
32. JuliaEditorSupport/atom-language-julia version 0.22.1 (https://github.com/JuliaEditorSupport/atom-language-julia)
|
||||||
33. language-less version 0.34.2 (https://github.com/atom/language-less)
|
33. Jxck/assert version 1.0.0 (https://github.com/Jxck/assert)
|
||||||
34. language-php version 0.48.1 (https://github.com/atom/language-php)
|
34. language-docker (https://github.com/moby/moby)
|
||||||
35. MagicStack/MagicPython version 1.1.1 (https://github.com/MagicStack/MagicPython)
|
35. language-less version 0.34.2 (https://github.com/atom/language-less)
|
||||||
36. marked version 4.0.16 (https://github.com/markedjs/marked)
|
36. language-php version 0.48.1 (https://github.com/atom/language-php)
|
||||||
37. mdn-data version 1.1.12 (https://github.com/mdn/data)
|
37. MagicStack/MagicPython version 1.1.1 (https://github.com/MagicStack/MagicPython)
|
||||||
38. microsoft/TypeScript-TmLanguage version 0.0.1 (https://github.com/microsoft/TypeScript-TmLanguage)
|
38. marked version 4.0.16 (https://github.com/markedjs/marked)
|
||||||
39. microsoft/vscode-JSON.tmLanguage (https://github.com/microsoft/vscode-JSON.tmLanguage)
|
39. mdn-data version 1.1.12 (https://github.com/mdn/data)
|
||||||
40. microsoft/vscode-markdown-tm-grammar version 1.0.0 (https://github.com/microsoft/vscode-markdown-tm-grammar)
|
40. microsoft/TypeScript-TmLanguage version 0.0.1 (https://github.com/microsoft/TypeScript-TmLanguage)
|
||||||
41. microsoft/vscode-mssql version 1.10.1 (https://github.com/microsoft/vscode-mssql)
|
41. microsoft/vscode-JSON.tmLanguage (https://github.com/microsoft/vscode-JSON.tmLanguage)
|
||||||
42. mmims/language-batchfile version 0.7.6 (https://github.com/mmims/language-batchfile)
|
42. microsoft/vscode-markdown-tm-grammar version 1.0.0 (https://github.com/microsoft/vscode-markdown-tm-grammar)
|
||||||
43. NVIDIA/cuda-cpp-grammar (https://github.com/NVIDIA/cuda-cpp-grammar)
|
43. microsoft/vscode-mssql version 1.16.0 (https://github.com/microsoft/vscode-mssql)
|
||||||
44. PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax)
|
44. mmims/language-batchfile version 0.7.6 (https://github.com/mmims/language-batchfile)
|
||||||
45. rust-syntax version 0.5.0 (https://github.com/dustypomerleau/rust-syntax)
|
45. NVIDIA/cuda-cpp-grammar (https://github.com/NVIDIA/cuda-cpp-grammar)
|
||||||
46. semver version 5.5.0 (https://github.com/npm/node-semver)
|
46. PowerShell/EditorSyntax version 1.0.0 (https://github.com/PowerShell/EditorSyntax)
|
||||||
47. seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui)
|
47. rust-syntax version 0.5.0 (https://github.com/dustypomerleau/rust-syntax)
|
||||||
48. shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage)
|
48. semver version 5.5.0 (https://github.com/npm/node-semver)
|
||||||
49. sumneko/lua.tmbundle version 1.0.0 (https://github.com/sumneko/lua.tmbundle)
|
49. seti-ui version 0.1.0 (https://github.com/jesseweed/seti-ui)
|
||||||
50. textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle)
|
50. shaders-tmLanguage version 0.1.0 (https://github.com/tgjones/shaders-tmLanguage)
|
||||||
51. textmate/c.tmbundle (https://github.com/textmate/c.tmbundle)
|
51. sumneko/lua.tmbundle version 1.0.0 (https://github.com/sumneko/lua.tmbundle)
|
||||||
52. textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle)
|
52. textmate/asp.vb.net.tmbundle (https://github.com/textmate/asp.vb.net.tmbundle)
|
||||||
53. textmate/git.tmbundle (https://github.com/textmate/git.tmbundle)
|
53. textmate/c.tmbundle (https://github.com/textmate/c.tmbundle)
|
||||||
54. textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle)
|
54. textmate/diff.tmbundle (https://github.com/textmate/diff.tmbundle)
|
||||||
55. textmate/html.tmbundle (https://github.com/textmate/html.tmbundle)
|
55. textmate/git.tmbundle (https://github.com/textmate/git.tmbundle)
|
||||||
56. textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle)
|
56. textmate/groovy.tmbundle (https://github.com/textmate/groovy.tmbundle)
|
||||||
57. textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle)
|
57. textmate/html.tmbundle (https://github.com/textmate/html.tmbundle)
|
||||||
58. textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle)
|
58. textmate/ini.tmbundle (https://github.com/textmate/ini.tmbundle)
|
||||||
59. textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle)
|
59. textmate/javascript.tmbundle (https://github.com/textmate/javascript.tmbundle)
|
||||||
60. textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle)
|
60. textmate/markdown.tmbundle (https://github.com/textmate/markdown.tmbundle)
|
||||||
61. textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle)
|
61. textmate/perl.tmbundle (https://github.com/textmate/perl.tmbundle)
|
||||||
62. trond-snekvik/vscode-rst version 1.5.1 (https://github.com/trond-snekvik/vscode-rst)
|
62. textmate/ruby.tmbundle (https://github.com/textmate/ruby.tmbundle)
|
||||||
63. TypeScript-TmLanguage version 0.1.8 (https://github.com/microsoft/TypeScript-TmLanguage)
|
63. textmate/yaml.tmbundle (https://github.com/textmate/yaml.tmbundle)
|
||||||
64. TypeScript-TmLanguage version 1.0.0 (https://github.com/microsoft/TypeScript-TmLanguage)
|
64. trond-snekvik/vscode-rst version 1.5.1 (https://github.com/trond-snekvik/vscode-rst)
|
||||||
65. Unicode version 12.0.0 (https://home.unicode.org/)
|
65. TypeScript-TmLanguage version 0.1.8 (https://github.com/microsoft/TypeScript-TmLanguage)
|
||||||
66. vscode-codicons version 0.0.14 (https://github.com/microsoft/vscode-codicons)
|
66. TypeScript-TmLanguage version 1.0.0 (https://github.com/microsoft/TypeScript-TmLanguage)
|
||||||
67. vscode-logfile-highlighter version 2.11.0 (https://github.com/emilast/vscode-logfile-highlighter)
|
67. Unicode version 12.0.0 (https://home.unicode.org/)
|
||||||
68. vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift)
|
68. vscode-codicons version 0.0.14 (https://github.com/microsoft/vscode-codicons)
|
||||||
69. Web Background Synchronization (https://github.com/WICG/background-sync)
|
69. vscode-logfile-highlighter version 2.15.0 (https://github.com/emilast/vscode-logfile-highlighter)
|
||||||
|
70. vscode-swift version 0.0.1 (https://github.com/owensd/vscode-swift)
|
||||||
|
71. vscode-win32-app-container-tokens (https://github.com/microsoft/vscode-win32-app-container-tokens)
|
||||||
|
72. Web Background Synchronization (https://github.com/WICG/background-sync)
|
||||||
|
|
||||||
|
|
||||||
%% atom/language-clojure NOTICES AND INFORMATION BEGIN HERE
|
%% atom/language-clojure NOTICES AND INFORMATION BEGIN HERE
|
||||||
|
@ -1208,7 +1211,7 @@ SOFTWARE.
|
||||||
=========================================
|
=========================================
|
||||||
END OF James-Yu/LaTeX-Workshop NOTICES AND INFORMATION
|
END OF James-Yu/LaTeX-Workshop NOTICES AND INFORMATION
|
||||||
|
|
||||||
%% jeff-hykin/cpp-textmate-grammar NOTICES AND INFORMATION BEGIN HERE
|
%% jeff-hykin/better-c-syntax NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
|
@ -1232,7 +1235,85 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
=========================================
|
=========================================
|
||||||
END OF jeff-hykin/cpp-textmate-grammar NOTICES AND INFORMATION
|
END OF jeff-hykin/better-c-syntax NOTICES AND INFORMATION
|
||||||
|
|
||||||
|
%% jeff-hykin/better-cpp-syntax NOTICES AND INFORMATION BEGIN HERE
|
||||||
|
=========================================
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Jeff Hykin
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
=========================================
|
||||||
|
END OF jeff-hykin/better-cpp-syntax NOTICES AND INFORMATION
|
||||||
|
|
||||||
|
%% jeff-hykin/better-objc-syntax NOTICES AND INFORMATION BEGIN HERE
|
||||||
|
=========================================
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Jeff Hykin
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
=========================================
|
||||||
|
END OF jeff-hykin/better-objc-syntax NOTICES AND INFORMATION
|
||||||
|
|
||||||
|
%% jeff-hykin/better-objcpp-syntax NOTICES AND INFORMATION BEGIN HERE
|
||||||
|
=========================================
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Jeff Hykin
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
=========================================
|
||||||
|
END OF jeff-hykin/better-objcpp-syntax NOTICES AND INFORMATION
|
||||||
|
|
||||||
%% jlelong/vscode-latex-basics NOTICES AND INFORMATION BEGIN HERE
|
%% jlelong/vscode-latex-basics NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
|
@ -3123,6 +3204,32 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SO
|
||||||
=========================================
|
=========================================
|
||||||
END OF vscode-swift NOTICES AND INFORMATION
|
END OF vscode-swift NOTICES AND INFORMATION
|
||||||
|
|
||||||
|
%% vscode-win32-app-container-tokens NOTICES AND INFORMATION BEGIN HERE
|
||||||
|
=========================================
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) Microsoft Corporation.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE
|
||||||
|
=========================================
|
||||||
|
END OF vscode-win32-app-container-tokens NOTICES AND INFORMATION
|
||||||
|
|
||||||
%% Web Background Synchronization NOTICES AND INFORMATION BEGIN HERE
|
%% Web Background Synchronization NOTICES AND INFORMATION BEGIN HERE
|
||||||
=========================================
|
=========================================
|
||||||
Apache License
|
Apache License
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
2022-06-10T10:20:54.664Z
|
2022-08-01T11:24:47.411Z
|
||||||
|
|
|
@ -122,10 +122,6 @@ vscode-windows-ca-certs/**/*
|
||||||
node-addon-api/**/*
|
node-addon-api/**/*
|
||||||
prebuild-install/**/*
|
prebuild-install/**/*
|
||||||
|
|
||||||
@microsoft/applicationinsights*/**
|
|
||||||
@microsoft/dynamicproto-js/**
|
|
||||||
!@microsoft/applicationinsights-web/dist/applicationinsights-web.min.js
|
|
||||||
|
|
||||||
# other node modules
|
# other node modules
|
||||||
|
|
||||||
**/docs/**
|
**/docs/**
|
||||||
|
|
|
@ -20,6 +20,9 @@ vscode-textmate/webpack.config.js
|
||||||
|
|
||||||
xterm/src/**
|
xterm/src/**
|
||||||
|
|
||||||
|
xterm-addon-canvas/src/**
|
||||||
|
xterm-addon-canvas/out/**
|
||||||
|
|
||||||
xterm-addon-search/src/**
|
xterm-addon-search/src/**
|
||||||
xterm-addon-search/out/**
|
xterm-addon-search/out/**
|
||||||
xterm-addon-search/fixtures/**
|
xterm-addon-search/fixtures/**
|
||||||
|
@ -33,6 +36,3 @@ xterm-addon-webgl/out/**
|
||||||
# This makes sure the model is included in the package
|
# This makes sure the model is included in the package
|
||||||
!@vscode/vscode-languagedetection/model/**
|
!@vscode/vscode-languagedetection/model/**
|
||||||
|
|
||||||
@microsoft/applicationinsights*/**
|
|
||||||
@microsoft/dynamicproto-js/**
|
|
||||||
!@microsoft/applicationinsights-web/dist/applicationinsights-web.min.js
|
|
15
build/azure-pipelines/common/computeBuiltInDepsCacheKey.js
Normal file
15
build/azure-pipelines/common/computeBuiltInDepsCacheKey.js
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
"use strict";
|
||||||
|
/*---------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
const crypto = require("crypto");
|
||||||
|
const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../../product.json'), 'utf8'));
|
||||||
|
const shasum = crypto.createHash('sha1');
|
||||||
|
for (const ext of productjson.builtInExtensions) {
|
||||||
|
shasum.update(`${ext.name}@${ext.version}`);
|
||||||
|
}
|
||||||
|
process.stdout.write(shasum.digest('hex'));
|
17
build/azure-pipelines/common/computeBuiltInDepsCacheKey.ts
Normal file
17
build/azure-pipelines/common/computeBuiltInDepsCacheKey.ts
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
/*---------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
import * as fs from 'fs';
|
||||||
|
import * as path from 'path';
|
||||||
|
import * as crypto from 'crypto';
|
||||||
|
|
||||||
|
const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../../product.json'), 'utf8'));
|
||||||
|
const shasum = crypto.createHash('sha1');
|
||||||
|
|
||||||
|
for (const ext of productjson.builtInExtensions) {
|
||||||
|
shasum.update(`${ext.name}@${ext.version}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
process.stdout.write(shasum.digest('hex'));
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as crypto from 'crypto';
|
import * as crypto from 'crypto';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const crypto = require("crypto");
|
const crypto = require("crypto");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import { Readable } from 'stream';
|
import { Readable } from 'stream';
|
||||||
import * as crypto from 'crypto';
|
import * as crypto from 'crypto';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const identity_1 = require("@azure/identity");
|
const identity_1 = require("@azure/identity");
|
||||||
const cosmos_1 = require("@azure/cosmos");
|
const cosmos_1 = require("@azure/cosmos");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import { ClientSecretCredential } from '@azure/identity';
|
import { ClientSecretCredential } from '@azure/identity';
|
||||||
import { CosmosClient } from '@azure/cosmos';
|
import { CosmosClient } from '@azure/cosmos';
|
||||||
import { retry } from './retry';
|
import { retry } from './retry';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const identity_1 = require("@azure/identity");
|
const identity_1 = require("@azure/identity");
|
||||||
const cosmos_1 = require("@azure/cosmos");
|
const cosmos_1 = require("@azure/cosmos");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import { ClientSecretCredential } from '@azure/identity';
|
import { ClientSecretCredential } from '@azure/identity';
|
||||||
import { CosmosClient } from '@azure/cosmos';
|
import { CosmosClient } from '@azure/cosmos';
|
||||||
import { retry } from './retry';
|
import { retry } from './retry';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.retry = void 0;
|
exports.retry = void 0;
|
||||||
async function retry(fn) {
|
async function retry(fn) {
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
export async function retry<T>(fn: () => Promise<T>): Promise<T> {
|
export async function retry<T>(fn: () => Promise<T>): Promise<T> {
|
||||||
let lastError: Error | undefined;
|
let lastError: Error | undefined;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,4 @@
|
||||||
steps:
|
steps:
|
||||||
- checkout: self
|
|
||||||
fetchDepth: 1
|
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "16.x"
|
versionSpec: "16.x"
|
||||||
|
@ -11,35 +8,107 @@ steps:
|
||||||
inputs:
|
inputs:
|
||||||
azureSubscription: "vscode-builds-subscription"
|
azureSubscription: "vscode-builds-subscription"
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
SecretsFilter: "ESRP-PKI,esrp-aad-username,esrp-aad-password"
|
SecretsFilter: "github-distro-mixin-password,ESRP-PKI,esrp-aad-username,esrp-aad-password"
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
cat << EOF > ~/.netrc
|
||||||
|
machine github.com
|
||||||
|
login vscode
|
||||||
|
password $(github-distro-mixin-password)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
git config user.email "vscode@microsoft.com"
|
||||||
|
git config user.name "VSCode"
|
||||||
|
displayName: Prepare tooling
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
git fetch https://github.com/$(VSCODE_MIXIN_REPO).git $VSCODE_DISTRO_REF
|
||||||
|
echo "##vso[task.setvariable variable=VSCODE_DISTRO_COMMIT;]$(git rev-parse FETCH_HEAD)"
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
condition: and(succeeded(), ne(variables.VSCODE_DISTRO_REF, ' '))
|
||||||
|
displayName: Checkout override commit
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
git pull --no-rebase https://github.com/$(VSCODE_MIXIN_REPO).git $(node -p "require('./package.json').distro")
|
||||||
|
displayName: Merge distro
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
mkdir -p .build
|
||||||
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js x64 $ENABLE_TERRAPIN > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
- task: Cache@2
|
- task: Cache@2
|
||||||
inputs:
|
inputs:
|
||||||
key: "buildNodeModules | $(Agent.OS) | $(VSCODE_ARCH) | build/yarn.lock"
|
key: "nodeModules | $(Agent.OS) | .build/yarnlockhash"
|
||||||
path: build/node_modules
|
path: .build/node_modules_cache
|
||||||
cacheHitVar: BUILD_NODE_MODULES_RESTORED
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
displayName: Restore build node_modules cache
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
|
path: .build/builtInExtensions
|
||||||
|
displayName: Restore built-in extensions
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
tar -xzf .build/node_modules_cache/cache.tgz
|
||||||
|
displayName: Extract node_modules cache
|
||||||
|
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
npm install -g node-gyp@latest
|
||||||
|
node-gyp --version
|
||||||
|
displayName: Update node-gyp
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
npx https://aka.ms/enablesecurefeed standAlone
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
timeoutInMinutes: 5
|
timeoutInMinutes: 5
|
||||||
retryCountOnTaskFailure: 3
|
retryCountOnTaskFailure: 3
|
||||||
condition: and(succeeded(), eq(variables['ENABLE_TERRAPIN'], 'true'), ne(variables.BUILD_NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
|
||||||
displayName: Switch to Terrapin packages
|
displayName: Switch to Terrapin packages
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
export npm_config_arch=$(VSCODE_ARCH)
|
||||||
|
export npm_config_node_gyp=$(which node-gyp)
|
||||||
|
|
||||||
for i in {1..3}; do # try 3 times, for Terrapin
|
for i in {1..3}; do # try 3 times, for Terrapin
|
||||||
yarn --cwd build --frozen-lockfile --check-files && break
|
yarn --frozen-lockfile --check-files && break
|
||||||
if [ $i -eq 3 ]; then
|
if [ $i -eq 3 ]; then
|
||||||
echo "Yarn failed too many times" >&2
|
echo "Yarn failed too many times" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Yarn failed $i, trying again..."
|
echo "Yarn failed $i, trying again..."
|
||||||
done
|
done
|
||||||
displayName: Install build dependencies
|
env:
|
||||||
condition: and(succeeded(), ne(variables.BUILD_NODE_MODULES_RESTORED, 'true'))
|
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
||||||
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Install dependencies
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/lib/builtInExtensions.js
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
||||||
|
mkdir -p .build/node_modules_cache
|
||||||
|
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
displayName: Create node_modules archive
|
||||||
|
|
||||||
- download: current
|
- download: current
|
||||||
artifact: unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive
|
artifact: unsigned_vscode_client_darwin_$(VSCODE_ARCH)_archive
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
parameters:
|
parameters:
|
||||||
|
- name: VSCODE_QUALITY
|
||||||
|
type: string
|
||||||
- name: VSCODE_RUN_UNIT_TESTS
|
- name: VSCODE_RUN_UNIT_TESTS
|
||||||
type: boolean
|
type: boolean
|
||||||
- name: VSCODE_RUN_INTEGRATION_TESTS
|
- name: VSCODE_RUN_INTEGRATION_TESTS
|
||||||
|
@ -14,30 +16,49 @@ steps:
|
||||||
displayName: Download Electron and Playwright
|
displayName: Download Electron and Playwright
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
||||||
- script: |
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
./scripts/test.sh --build --tfs "Unit Tests"
|
set -e
|
||||||
displayName: Run unit tests (Electron)
|
./scripts/test.sh --tfs "Unit Tests"
|
||||||
timeoutInMinutes: 15
|
displayName: Run unit tests (Electron)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
yarn test-node
|
||||||
yarn test-node --build
|
displayName: Run unit tests (node.js)
|
||||||
displayName: Run unit tests (node.js)
|
timeoutInMinutes: 15
|
||||||
timeoutInMinutes: 15
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
DEBUG=*browser* yarn test-browser-no-install --sequential --browser chromium --browser webkit --tfs "Browser Unit Tests"
|
||||||
DEBUG=*browser* yarn test-browser-no-install --sequential --build --browser chromium --browser webkit --tfs "Browser Unit Tests"
|
displayName: Run unit tests (Browser, Chromium & Webkit)
|
||||||
displayName: Run unit tests (Browser, Chromium & Webkit)
|
timeoutInMinutes: 30
|
||||||
timeoutInMinutes: 30
|
|
||||||
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
./scripts/test.sh --build --tfs "Unit Tests"
|
||||||
|
displayName: Run unit tests (Electron)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
yarn test-node --build
|
||||||
|
displayName: Run unit tests (node.js)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
DEBUG=*browser* yarn test-browser-no-install --sequential --build --browser chromium --browser webkit --tfs "Browser Unit Tests"
|
||||||
|
displayName: Run unit tests (Browser, Chromium & Webkit)
|
||||||
|
timeoutInMinutes: 30
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn gulp \
|
yarn gulp \
|
||||||
|
compile-extension:configuration-editing \
|
||||||
compile-extension:css-language-features-server \
|
compile-extension:css-language-features-server \
|
||||||
compile-extension:emmet \
|
compile-extension:emmet \
|
||||||
compile-extension:git \
|
compile-extension:git \
|
||||||
|
@ -45,49 +66,53 @@ steps:
|
||||||
compile-extension:html-language-features-server \
|
compile-extension:html-language-features-server \
|
||||||
compile-extension:ipynb \
|
compile-extension:ipynb \
|
||||||
compile-extension:json-language-features-server \
|
compile-extension:json-language-features-server \
|
||||||
|
compile-extension:markdown-language-features-server \
|
||||||
compile-extension:markdown-language-features \
|
compile-extension:markdown-language-features \
|
||||||
compile-extension-media \
|
compile-extension-media \
|
||||||
compile-extension:microsoft-authentication \
|
compile-extension:microsoft-authentication \
|
||||||
compile-extension:typescript-language-features \
|
compile-extension:typescript-language-features \
|
||||||
compile-extension:vscode-api-tests \
|
compile-extension:vscode-api-tests \
|
||||||
compile-extension:vscode-colorize-tests \
|
compile-extension:vscode-colorize-tests \
|
||||||
compile-extension:vscode-custom-editor-tests \
|
|
||||||
compile-extension:vscode-notebook-tests \
|
compile-extension:vscode-notebook-tests \
|
||||||
compile-extension:vscode-test-resolver
|
compile-extension:vscode-test-resolver
|
||||||
displayName: Build integration tests
|
displayName: Build integration tests
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
# Figure out the full absolute path of the product we just built
|
./scripts/test-integration.sh --tfs "Integration Tests"
|
||||||
# including the remote server and configure the integration tests
|
displayName: Run integration tests (Electron)
|
||||||
# to run with these builds instead of running out of sources.
|
timeoutInMinutes: 20
|
||||||
set -e
|
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
|
||||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
|
|
||||||
./scripts/test-integration.sh --build --tfs "Integration Tests"
|
|
||||||
displayName: Run integration tests (Electron)
|
|
||||||
timeoutInMinutes: 20
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
# Figure out the full absolute path of the product we just built
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \
|
# including the remote server and configure the integration tests
|
||||||
./scripts/test-web-integration.sh --browser webkit
|
# to run with these builds instead of running out of sources.
|
||||||
displayName: Run integration tests (Browser, Webkit)
|
set -e
|
||||||
timeoutInMinutes: 20
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
|
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
|
||||||
|
./scripts/test-integration.sh --build --tfs "Integration Tests"
|
||||||
|
displayName: Run integration tests (Electron)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
./scripts/test-web-integration.sh --browser webkit
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
displayName: Run integration tests (Browser, Webkit)
|
||||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
timeoutInMinutes: 20
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
|
|
||||||
./scripts/test-remote-integration.sh
|
- script: |
|
||||||
displayName: Run integration tests (Remote)
|
set -e
|
||||||
timeoutInMinutes: 20
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
|
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME/Contents/MacOS/Electron" \
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
|
||||||
|
./scripts/test-remote-integration.sh
|
||||||
|
displayName: Run integration tests (Remote)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
||||||
- script: |
|
- script: |
|
||||||
|
@ -97,35 +122,44 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \
|
yarn --cwd test/smoke compile
|
||||||
yarn smoketest-no-compile --web --tracing --headless
|
displayName: Compile smoke tests
|
||||||
timeoutInMinutes: 20
|
|
||||||
displayName: Run smoke tests (Browser, Chromium)
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
yarn smoketest-no-compile --tracing
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
timeoutInMinutes: 20
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
displayName: Run smoke tests (Electron)
|
||||||
yarn smoketest-no-compile --tracing --build "$APP_ROOT/$APP_NAME"
|
|
||||||
timeoutInMinutes: 20
|
|
||||||
displayName: Run smoke tests (Electron)
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn gulp compile-extension:vscode-test-resolver
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
yarn smoketest-no-compile --tracing --build "$APP_ROOT/$APP_NAME"
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
|
timeoutInMinutes: 20
|
||||||
yarn smoketest-no-compile --tracing --remote --build "$APP_ROOT/$APP_NAME"
|
displayName: Run smoke tests (Electron)
|
||||||
timeoutInMinutes: 20
|
|
||||||
displayName: Run smoke tests (Remote)
|
- script: |
|
||||||
|
set -e
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-darwin-$(VSCODE_ARCH)" \
|
||||||
|
yarn smoketest-no-compile --web --tracing --headless
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
displayName: Run smoke tests (Browser, Chromium)
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
yarn gulp compile-extension:vscode-test-resolver
|
||||||
|
APP_ROOT=$(agent.builddirectory)/VSCode-darwin-$(VSCODE_ARCH)
|
||||||
|
APP_NAME="`ls $APP_ROOT | head -n 1`"
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-darwin-$(VSCODE_ARCH)" \
|
||||||
|
yarn smoketest-no-compile --tracing --remote --build "$APP_ROOT/$APP_NAME"
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
displayName: Run smoke tests (Remote)
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
ps -ef
|
ps -ef
|
||||||
|
@ -147,7 +181,6 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
|
||||||
# In order to properly symbolify above crash reports
|
# In order to properly symbolify above crash reports
|
||||||
# (if any), we need the compiled native modules too
|
# (if any), we need the compiled native modules too
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
|
@ -163,7 +196,6 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
inputs:
|
inputs:
|
||||||
targetPath: .build/logs
|
targetPath: .build/logs
|
||||||
|
|
|
@ -38,6 +38,7 @@ steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
node build/azure-pipelines/common/computeNodeModulesCacheKey.js x64 $ENABLE_TERRAPIN > .build/yarnlockhash
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js x64 $ENABLE_TERRAPIN > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
displayName: Prepare yarn cache flags
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
- task: Cache@2
|
- task: Cache@2
|
||||||
|
@ -47,10 +48,67 @@ steps:
|
||||||
cacheHitVar: NODE_MODULES_RESTORED
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
displayName: Restore node_modules cache
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
|
path: .build/builtInExtensions
|
||||||
|
displayName: Restore built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
tar -xzf .build/node_modules_cache/cache.tgz
|
tar -xzf .build/node_modules_cache/cache.tgz
|
||||||
displayName: Extract node_modules cache
|
displayName: Extract node_modules cache
|
||||||
|
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
npm install -g node-gyp@latest
|
||||||
|
node-gyp --version
|
||||||
|
displayName: Update node-gyp
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
|
timeoutInMinutes: 5
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
|
||||||
|
displayName: Switch to Terrapin packages
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
export npm_config_arch=$(VSCODE_ARCH)
|
||||||
|
export npm_config_node_gyp=$(which node-gyp)
|
||||||
|
|
||||||
|
for i in {1..3}; do # try 3 times, for Terrapin
|
||||||
|
yarn --frozen-lockfile --check-files && break
|
||||||
|
if [ $i -eq 3 ]; then
|
||||||
|
echo "Yarn failed too many times" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Yarn failed $i, trying again..."
|
||||||
|
done
|
||||||
|
env:
|
||||||
|
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
||||||
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Install dependencies
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/lib/builtInExtensions.js
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
||||||
|
mkdir -p .build/node_modules_cache
|
||||||
|
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
displayName: Create node_modules archive
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
|
@ -11,6 +11,11 @@ parameters:
|
||||||
type: boolean
|
type: boolean
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- checkout: self
|
||||||
|
fetchDepth: 1
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "16.x"
|
versionSpec: "16.x"
|
||||||
|
@ -23,16 +28,18 @@ steps:
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
SecretsFilter: "github-distro-mixin-password,macos-developer-certificate,macos-developer-certificate-key"
|
SecretsFilter: "github-distro-mixin-password,macos-developer-certificate,macos-developer-certificate-key"
|
||||||
|
|
||||||
- task: DownloadPipelineArtifact@2
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
inputs:
|
- task: DownloadPipelineArtifact@2
|
||||||
artifact: Compilation
|
inputs:
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
artifact: Compilation
|
||||||
displayName: Download compilation output
|
path: $(Build.ArtifactStagingDirectory)
|
||||||
|
displayName: Download compilation output
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
tar -xzf $(Build.ArtifactStagingDirectory)/compilation.tar.gz
|
set -e
|
||||||
displayName: Extract compilation output
|
tar -xzf $(Build.ArtifactStagingDirectory)/compilation.tar.gz
|
||||||
|
displayName: Extract compilation output
|
||||||
|
|
||||||
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
|
@ -65,6 +72,7 @@ steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
displayName: Prepare yarn cache flags
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
- task: Cache@2
|
- task: Cache@2
|
||||||
|
@ -74,19 +82,18 @@ steps:
|
||||||
cacheHitVar: NODE_MODULES_RESTORED
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
displayName: Restore node_modules cache
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
|
path: .build/builtInExtensions
|
||||||
|
displayName: Restore built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
tar -xzf .build/node_modules_cache/cache.tgz
|
tar -xzf .build/node_modules_cache/cache.tgz
|
||||||
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
displayName: Extract node_modules cache
|
displayName: Extract node_modules cache
|
||||||
|
|
||||||
- script: |
|
|
||||||
set -e
|
|
||||||
npm install -g node-gyp@latest
|
|
||||||
node-gyp --version
|
|
||||||
displayName: Update node-gyp
|
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
npx https://aka.ms/enablesecurefeed standAlone
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
|
@ -115,6 +122,13 @@ steps:
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/lib/builtInExtensions.js
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
||||||
|
@ -130,11 +144,12 @@ steps:
|
||||||
node build/azure-pipelines/mixin
|
node build/azure-pipelines/mixin
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
set -e
|
||||||
yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
displayName: Build client
|
yarn gulp vscode-darwin-$(VSCODE_ARCH)-min-ci
|
||||||
|
displayName: Build client
|
||||||
|
|
||||||
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
|
@ -142,17 +157,26 @@ steps:
|
||||||
node build/azure-pipelines/mixin --server
|
node build/azure-pipelines/mixin --server
|
||||||
displayName: Mix in server quality
|
displayName: Mix in server quality
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
set -e
|
||||||
yarn gulp vscode-reh-darwin-$(VSCODE_ARCH)-min-ci
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
yarn gulp vscode-reh-darwin-$(VSCODE_ARCH)-min-ci
|
||||||
yarn gulp vscode-reh-web-darwin-$(VSCODE_ARCH)-min-ci
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
displayName: Build Server
|
yarn gulp vscode-reh-web-darwin-$(VSCODE_ARCH)-min-ci
|
||||||
|
displayName: Build Server
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
|
yarn gulp "transpile-client" "transpile-extensions"
|
||||||
|
displayName: Transpile
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
- ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
||||||
- template: product-build-darwin-test.yml
|
- template: product-build-darwin-test.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: ${{ parameters.VSCODE_RUN_UNIT_TESTS }}
|
VSCODE_RUN_UNIT_TESTS: ${{ parameters.VSCODE_RUN_UNIT_TESTS }}
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: ${{ parameters.VSCODE_RUN_INTEGRATION_TESTS }}
|
VSCODE_RUN_INTEGRATION_TESTS: ${{ parameters.VSCODE_RUN_INTEGRATION_TESTS }}
|
||||||
VSCODE_RUN_SMOKE_TESTS: ${{ parameters.VSCODE_RUN_SMOKE_TESTS }}
|
VSCODE_RUN_SMOKE_TESTS: ${{ parameters.VSCODE_RUN_SMOKE_TESTS }}
|
||||||
|
|
|
@ -58,6 +58,7 @@ steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
node build/azure-pipelines/common/computeNodeModulesCacheKey.js "alpine" $ENABLE_TERRAPIN > .build/yarnlockhash
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js "alpine" $ENABLE_TERRAPIN > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
displayName: Prepare yarn cache flags
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
- task: Cache@2
|
- task: Cache@2
|
||||||
|
@ -67,6 +68,12 @@ steps:
|
||||||
cacheHitVar: NODE_MODULES_RESTORED
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
displayName: Restore node_modules cache
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
|
path: .build/builtInExtensions
|
||||||
|
displayName: Restore built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
tar -xzf .build/node_modules_cache/cache.tgz
|
tar -xzf .build/node_modules_cache/cache.tgz
|
||||||
|
@ -98,6 +105,13 @@ steps:
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/lib/builtInExtensions.js
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
parameters:
|
parameters:
|
||||||
|
- name: VSCODE_QUALITY
|
||||||
|
type: string
|
||||||
- name: VSCODE_RUN_UNIT_TESTS
|
- name: VSCODE_RUN_UNIT_TESTS
|
||||||
type: boolean
|
type: boolean
|
||||||
- name: VSCODE_RUN_INTEGRATION_TESTS
|
- name: VSCODE_RUN_INTEGRATION_TESTS
|
||||||
|
@ -13,43 +15,74 @@ steps:
|
||||||
yarn npm-run-all -lp "electron $(VSCODE_ARCH)" "playwright-install"
|
yarn npm-run-all -lp "electron $(VSCODE_ARCH)" "playwright-install"
|
||||||
displayName: Download Electron and Playwright
|
displayName: Download Electron and Playwright
|
||||||
|
|
||||||
- script: |
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
|
||||||
ELECTRON_ROOT=.build/electron
|
|
||||||
sudo chown root $APP_ROOT/chrome-sandbox
|
|
||||||
sudo chown root $ELECTRON_ROOT/chrome-sandbox
|
|
||||||
sudo chmod 4755 $APP_ROOT/chrome-sandbox
|
|
||||||
sudo chmod 4755 $ELECTRON_ROOT/chrome-sandbox
|
|
||||||
stat $APP_ROOT/chrome-sandbox
|
|
||||||
stat $ELECTRON_ROOT/chrome-sandbox
|
|
||||||
displayName: Change setuid helper binary permission
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
./scripts/test.sh --build --tfs "Unit Tests"
|
sudo apt-get update
|
||||||
displayName: Run unit tests (Electron)
|
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
|
||||||
timeoutInMinutes: 15
|
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
||||||
|
sudo chmod +x /etc/init.d/xvfb
|
||||||
|
sudo update-rc.d xvfb defaults
|
||||||
|
sudo service xvfb start
|
||||||
|
displayName: Setup build environment
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn test-node --build
|
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
||||||
displayName: Run unit tests (node.js)
|
ELECTRON_ROOT=.build/electron
|
||||||
timeoutInMinutes: 15
|
sudo chown root $APP_ROOT/chrome-sandbox
|
||||||
|
sudo chown root $ELECTRON_ROOT/chrome-sandbox
|
||||||
|
sudo chmod 4755 $APP_ROOT/chrome-sandbox
|
||||||
|
sudo chmod 4755 $ELECTRON_ROOT/chrome-sandbox
|
||||||
|
stat $APP_ROOT/chrome-sandbox
|
||||||
|
stat $ELECTRON_ROOT/chrome-sandbox
|
||||||
|
displayName: Change setuid helper binary permission
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
||||||
- script: |
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
DEBUG=*browser* yarn test-browser-no-install --build --browser chromium --tfs "Browser Unit Tests"
|
set -e
|
||||||
displayName: Run unit tests (Browser, Chromium)
|
DISPLAY=:10 ./scripts/test.sh --tfs "Unit Tests"
|
||||||
timeoutInMinutes: 15
|
displayName: Run unit tests (Electron)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
yarn test-node
|
||||||
|
displayName: Run unit tests (node.js)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
DEBUG=*browser* yarn test-browser-no-install --browser chromium --tfs "Browser Unit Tests"
|
||||||
|
displayName: Run unit tests (Browser, Chromium)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
./scripts/test.sh --build --tfs "Unit Tests"
|
||||||
|
displayName: Run unit tests (Electron)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
yarn test-node --build
|
||||||
|
displayName: Run unit tests (node.js)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
DEBUG=*browser* yarn test-browser-no-install --build --browser chromium --tfs "Browser Unit Tests"
|
||||||
|
displayName: Run unit tests (Browser, Chromium)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
yarn gulp \
|
yarn gulp \
|
||||||
|
compile-extension:configuration-editing \
|
||||||
compile-extension:css-language-features-server \
|
compile-extension:css-language-features-server \
|
||||||
compile-extension:emmet \
|
compile-extension:emmet \
|
||||||
compile-extension:git \
|
compile-extension:git \
|
||||||
|
@ -57,51 +90,69 @@ steps:
|
||||||
compile-extension:html-language-features-server \
|
compile-extension:html-language-features-server \
|
||||||
compile-extension:ipynb \
|
compile-extension:ipynb \
|
||||||
compile-extension:json-language-features-server \
|
compile-extension:json-language-features-server \
|
||||||
|
compile-extension:markdown-language-features-server \
|
||||||
compile-extension:markdown-language-features \
|
compile-extension:markdown-language-features \
|
||||||
compile-extension-media \
|
compile-extension-media \
|
||||||
compile-extension:microsoft-authentication \
|
compile-extension:microsoft-authentication \
|
||||||
compile-extension:typescript-language-features \
|
compile-extension:typescript-language-features \
|
||||||
compile-extension:vscode-api-tests \
|
compile-extension:vscode-api-tests \
|
||||||
compile-extension:vscode-colorize-tests \
|
compile-extension:vscode-colorize-tests \
|
||||||
compile-extension:vscode-custom-editor-tests \
|
|
||||||
compile-extension:vscode-notebook-tests \
|
compile-extension:vscode-notebook-tests \
|
||||||
compile-extension:vscode-test-resolver
|
compile-extension:vscode-test-resolver
|
||||||
displayName: Build integration tests
|
displayName: Build integration tests
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
||||||
- script: |
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
# Figure out the full absolute path of the product we just built
|
- script: |
|
||||||
# including the remote server and configure the integration tests
|
set -e
|
||||||
# to run with these builds instead of running out of sources.
|
DISPLAY=:10 ./scripts/test-integration.sh --tfs "Integration Tests"
|
||||||
set -e
|
displayName: Run integration tests (Electron)
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
timeoutInMinutes: 20
|
||||||
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
|
||||||
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
|
|
||||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
|
||||||
./scripts/test-integration.sh --build --tfs "Integration Tests"
|
|
||||||
displayName: Run integration tests (Electron)
|
|
||||||
timeoutInMinutes: 20
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
./scripts/test-web-integration.sh --browser chromium
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
|
displayName: Run integration tests (Browser, Chromium)
|
||||||
./scripts/test-web-integration.sh --browser chromium
|
timeoutInMinutes: 20
|
||||||
displayName: Run integration tests (Browser, Chromium)
|
|
||||||
timeoutInMinutes: 20
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
./scripts/test-remote-integration.sh
|
||||||
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
displayName: Run integration tests (Remote)
|
||||||
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
timeoutInMinutes: 20
|
||||||
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
|
|
||||||
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
- script: |
|
||||||
./scripts/test-remote-integration.sh
|
# Figure out the full absolute path of the product we just built
|
||||||
displayName: Run integration tests (Remote)
|
# including the remote server and configure the integration tests
|
||||||
timeoutInMinutes: 20
|
# to run with these builds instead of running out of sources.
|
||||||
|
set -e
|
||||||
|
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
||||||
|
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
||||||
|
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
|
||||||
|
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
||||||
|
./scripts/test-integration.sh --build --tfs "Integration Tests"
|
||||||
|
displayName: Run integration tests (Electron)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
|
||||||
|
./scripts/test-web-integration.sh --browser chromium
|
||||||
|
displayName: Run integration tests (Browser, Chromium)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
APP_ROOT=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
||||||
|
APP_NAME=$(node -p "require(\"$APP_ROOT/resources/app/product.json\").applicationName")
|
||||||
|
INTEGRATION_TEST_APP_NAME="$APP_NAME" \
|
||||||
|
INTEGRATION_TEST_ELECTRON_PATH="$APP_ROOT/$APP_NAME" \
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
||||||
|
./scripts/test-remote-integration.sh
|
||||||
|
displayName: Run integration tests (Remote)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
||||||
- script: |
|
- script: |
|
||||||
|
@ -113,33 +164,55 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
|
yarn --cwd test/smoke compile
|
||||||
yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
|
displayName: Compile smoke tests
|
||||||
timeoutInMinutes: 20
|
|
||||||
displayName: Run smoke tests (Browser, Chromium)
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
yarn smoketest-no-compile --tracing
|
||||||
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
timeoutInMinutes: 20
|
||||||
yarn smoketest-no-compile --tracing --build "$APP_PATH"
|
displayName: Run smoke tests (Electron)
|
||||||
timeoutInMinutes: 20
|
|
||||||
displayName: Run smoke tests (Electron)
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
|
||||||
yarn gulp compile-extension:vscode-test-resolver
|
timeoutInMinutes: 20
|
||||||
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
displayName: Run smoke tests (Browser, Chromium)
|
||||||
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
|
||||||
yarn smoketest-no-compile --tracing --remote --build "$APP_PATH"
|
- script: |
|
||||||
timeoutInMinutes: 20
|
set -e
|
||||||
displayName: Run smoke tests (Remote)
|
yarn gulp compile-extension:vscode-test-resolver
|
||||||
|
yarn smoketest-no-compile --remote --tracing
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
displayName: Run smoke tests (Remote)
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
||||||
|
yarn smoketest-no-compile --tracing --build "$APP_PATH"
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
displayName: Run smoke tests (Electron)
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-web-linux-$(VSCODE_ARCH)" \
|
||||||
|
yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
displayName: Run smoke tests (Browser, Chromium)
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
yarn gulp compile-extension:vscode-test-resolver
|
||||||
|
APP_PATH=$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)
|
||||||
|
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-reh-linux-$(VSCODE_ARCH)" \
|
||||||
|
yarn smoketest-no-compile --tracing --remote --build "$APP_PATH"
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
displayName: Run smoke tests (Remote)
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
ps -ef
|
ps -ef
|
||||||
|
@ -163,7 +236,6 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
|
||||||
# In order to properly symbolify above crash reports
|
# In order to properly symbolify above crash reports
|
||||||
# (if any), we need the compiled native modules too
|
# (if any), we need the compiled native modules too
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
|
@ -179,7 +251,6 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
inputs:
|
inputs:
|
||||||
targetPath: .build/logs
|
targetPath: .build/logs
|
||||||
|
|
|
@ -11,6 +11,11 @@ parameters:
|
||||||
type: boolean
|
type: boolean
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- checkout: self
|
||||||
|
fetchDepth: 1
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "16.x"
|
versionSpec: "16.x"
|
||||||
|
@ -23,33 +28,37 @@ steps:
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
SecretsFilter: "github-distro-mixin-password,ESRP-PKI,esrp-aad-username,esrp-aad-password"
|
SecretsFilter: "github-distro-mixin-password,ESRP-PKI,esrp-aad-username,esrp-aad-password"
|
||||||
|
|
||||||
- task: DownloadPipelineArtifact@2
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
inputs:
|
- task: DownloadPipelineArtifact@2
|
||||||
artifact: Compilation
|
inputs:
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
artifact: Compilation
|
||||||
displayName: Download compilation output
|
path: $(Build.ArtifactStagingDirectory)
|
||||||
|
displayName: Download compilation output
|
||||||
|
|
||||||
- task: DownloadPipelineArtifact@2
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
inputs:
|
- task: DownloadPipelineArtifact@2
|
||||||
artifact: reh_node_modules-$(VSCODE_ARCH)
|
inputs:
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
artifact: reh_node_modules-$(VSCODE_ARCH)
|
||||||
displayName: Download server build dependencies
|
path: $(Build.ArtifactStagingDirectory)
|
||||||
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'armhf'))
|
displayName: Download server build dependencies
|
||||||
|
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'armhf'))
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
# Start X server
|
set -e
|
||||||
/etc/init.d/xvfb start
|
# Start X server
|
||||||
# Start dbus session
|
/etc/init.d/xvfb start
|
||||||
DBUS_LAUNCH_RESULT=$(sudo dbus-daemon --config-file=/usr/share/dbus-1/system.conf --print-address)
|
# Start dbus session
|
||||||
echo "##vso[task.setvariable variable=DBUS_SESSION_BUS_ADDRESS]$DBUS_LAUNCH_RESULT"
|
DBUS_LAUNCH_RESULT=$(sudo dbus-daemon --config-file=/usr/share/dbus-1/system.conf --print-address)
|
||||||
displayName: Setup system services
|
echo "##vso[task.setvariable variable=DBUS_SESSION_BUS_ADDRESS]$DBUS_LAUNCH_RESULT"
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
displayName: Setup system services
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_ARCH'], 'x64'))
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
tar -xzf $(Build.ArtifactStagingDirectory)/compilation.tar.gz
|
set -e
|
||||||
displayName: Extract compilation output
|
tar -xzf $(Build.ArtifactStagingDirectory)/compilation.tar.gz
|
||||||
|
displayName: Extract compilation output
|
||||||
|
|
||||||
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
|
@ -82,14 +91,30 @@ steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
displayName: Prepare yarn cache flags
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: "genericNodeModules | $(Agent.OS) | .build/yarnlockhash"
|
||||||
|
path: .build/node_modules_cache
|
||||||
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: "nodeModules | $(Agent.OS) | .build/yarnlockhash"
|
||||||
|
path: .build/node_modules_cache
|
||||||
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
- task: Cache@2
|
- task: Cache@2
|
||||||
inputs:
|
inputs:
|
||||||
key: "nodeModules | $(Agent.OS) | .build/yarnlockhash"
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
path: .build/node_modules_cache
|
path: .build/builtInExtensions
|
||||||
cacheHitVar: NODE_MODULES_RESTORED
|
displayName: Restore built-in extensions
|
||||||
displayName: Restore node_modules cache
|
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
@ -171,10 +196,18 @@ steps:
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
rm -rf remote/node_modules
|
node build/lib/builtInExtensions.js
|
||||||
tar -xzf $(Build.ArtifactStagingDirectory)/reh_node_modules-$(VSCODE_ARCH).tar.gz --directory $(Build.SourcesDirectory)/remote
|
env:
|
||||||
displayName: Extract server node_modules output
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'armhf'))
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
rm -rf remote/node_modules
|
||||||
|
tar -xzf $(Build.ArtifactStagingDirectory)/reh_node_modules-$(VSCODE_ARCH).tar.gz --directory $(Build.SourcesDirectory)/remote
|
||||||
|
displayName: Extract server node_modules output
|
||||||
|
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'armhf'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
@ -190,11 +223,12 @@ steps:
|
||||||
node build/azure-pipelines/mixin
|
node build/azure-pipelines/mixin
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
set -e
|
||||||
yarn gulp vscode-linux-$(VSCODE_ARCH)-min-ci
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
displayName: Build
|
yarn gulp vscode-linux-$(VSCODE_ARCH)-min-ci
|
||||||
|
displayName: Build
|
||||||
|
|
||||||
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
|
@ -202,17 +236,26 @@ steps:
|
||||||
node build/azure-pipelines/mixin --server
|
node build/azure-pipelines/mixin --server
|
||||||
displayName: Mix in server quality
|
displayName: Mix in server quality
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
set -e
|
||||||
yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
|
||||||
yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
displayName: Build Server
|
yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
|
||||||
|
displayName: Build Server
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)" \
|
||||||
|
yarn gulp "transpile-client" "transpile-extensions"
|
||||||
|
displayName: Transpile
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
- ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
||||||
- template: product-build-linux-client-test.yml
|
- template: product-build-linux-client-test.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: ${{ parameters.VSCODE_RUN_UNIT_TESTS }}
|
VSCODE_RUN_UNIT_TESTS: ${{ parameters.VSCODE_RUN_UNIT_TESTS }}
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: ${{ parameters.VSCODE_RUN_INTEGRATION_TESTS }}
|
VSCODE_RUN_INTEGRATION_TESTS: ${{ parameters.VSCODE_RUN_INTEGRATION_TESTS }}
|
||||||
VSCODE_RUN_SMOKE_TESTS: ${{ parameters.VSCODE_RUN_SMOKE_TESTS }}
|
VSCODE_RUN_SMOKE_TESTS: ${{ parameters.VSCODE_RUN_SMOKE_TESTS }}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const json = require("gulp-json-editor");
|
const json = require("gulp-json-editor");
|
||||||
const buffer = require('gulp-buffer');
|
const buffer = require('gulp-buffer');
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as json from 'gulp-json-editor';
|
import * as json from 'gulp-json-editor';
|
||||||
const buffer = require('gulp-buffer');
|
const buffer = require('gulp-buffer');
|
||||||
import * as filter from 'gulp-filter';
|
import * as filter from 'gulp-filter';
|
||||||
|
|
73
build/azure-pipelines/product-build-pr-cache.yml
Normal file
73
build/azure-pipelines/product-build-pr-cache.yml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
steps:
|
||||||
|
- checkout: self
|
||||||
|
fetchDepth: 1
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
|
||||||
|
- task: NodeTool@0
|
||||||
|
inputs:
|
||||||
|
versionSpec: "16.x"
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
mkdir -p .build
|
||||||
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: "genericNodeModules | $(Agent.OS) | .build/yarnlockhash"
|
||||||
|
path: .build/node_modules_cache
|
||||||
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
|
path: .build/builtInExtensions
|
||||||
|
displayName: Restore built-in extensions
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
tar -xzf .build/node_modules_cache/cache.tgz
|
||||||
|
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
displayName: Extract node_modules cache
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
npx https://aka.ms/enablesecurefeed standAlone
|
||||||
|
timeoutInMinutes: 5
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['ENABLE_TERRAPIN'], 'true'))
|
||||||
|
displayName: Switch to Terrapin packages
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
for i in {1..3}; do # try 3 times, for Terrapin
|
||||||
|
yarn --frozen-lockfile --check-files && break
|
||||||
|
if [ $i -eq 3 ]; then
|
||||||
|
echo "Yarn failed too many times" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Yarn failed $i, trying again..."
|
||||||
|
done
|
||||||
|
env:
|
||||||
|
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
||||||
|
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Install dependencies
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/lib/builtInExtensions.js
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
||||||
|
mkdir -p .build/node_modules_cache
|
||||||
|
tar -czf .build/node_modules_cache/cache.tgz --files-from .build/node_modules_list.txt
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
displayName: Create node_modules archive
|
|
@ -6,15 +6,6 @@ pr:
|
||||||
branches:
|
branches:
|
||||||
include: ["main", "release/*"]
|
include: ["main", "release/*"]
|
||||||
|
|
||||||
resources:
|
|
||||||
containers:
|
|
||||||
- container: centos7-devtoolset8-x64
|
|
||||||
image: vscodehub.azurecr.io/vscode-linux-build-agent:centos7-devtoolset8-x64
|
|
||||||
options: --user 0:0 --cap-add SYS_ADMIN
|
|
||||||
- container: vscode-bionic-x64
|
|
||||||
image: vscodehub.azurecr.io/vscode-linux-build-agent:bionic-x64
|
|
||||||
options: --user 0:0 --cap-add SYS_ADMIN
|
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
- name: Codeql.SkipTaskAutoInjection
|
- name: Codeql.SkipTaskAutoInjection
|
||||||
value: true
|
value: true
|
||||||
|
@ -22,6 +13,8 @@ variables:
|
||||||
value: true
|
value: true
|
||||||
- name: ENABLE_TERRAPIN
|
- name: ENABLE_TERRAPIN
|
||||||
value: false
|
value: false
|
||||||
|
- name: VSCODE_CIBUILD
|
||||||
|
value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
|
||||||
- name: VSCODE_PUBLISH
|
- name: VSCODE_PUBLISH
|
||||||
value: false
|
value: false
|
||||||
- name: VSCODE_QUALITY
|
- name: VSCODE_QUALITY
|
||||||
|
@ -29,173 +22,168 @@ variables:
|
||||||
- name: VSCODE_STEP_ON_IT
|
- name: VSCODE_STEP_ON_IT
|
||||||
value: false
|
value: false
|
||||||
|
|
||||||
stages:
|
jobs:
|
||||||
- stage: Compile
|
- ${{ if ne(variables['VSCODE_CIBUILD'], true) }}:
|
||||||
jobs:
|
- job: Compile
|
||||||
- job: Compile
|
displayName: Compile & Hygiene
|
||||||
pool: vscode-1es-vscode-linux-18.04
|
pool: vscode-1es-vscode-linux-20.04
|
||||||
variables:
|
timeoutInMinutes: 30
|
||||||
VSCODE_ARCH: x64
|
variables:
|
||||||
steps:
|
VSCODE_ARCH: x64
|
||||||
- template: product-compile.yml
|
steps:
|
||||||
parameters:
|
- template: product-compile.yml
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
parameters:
|
||||||
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
|
||||||
- stage: LinuxServerDependencies
|
- job: Linuxx64UnitTest
|
||||||
dependsOn: []
|
displayName: Linux (Unit Tests)
|
||||||
pool: vscode-1es-vscode-linux-18.04
|
pool: vscode-1es-vscode-linux-20.04
|
||||||
jobs:
|
timeoutInMinutes: 30
|
||||||
- job: x64
|
variables:
|
||||||
container: centos7-devtoolset8-x64
|
VSCODE_ARCH: x64
|
||||||
variables:
|
NPM_ARCH: x64
|
||||||
VSCODE_ARCH: x64
|
DISPLAY: ":10"
|
||||||
NPM_ARCH: x64
|
steps:
|
||||||
steps:
|
- template: linux/product-build-linux-client.yml
|
||||||
- template: linux/product-build-linux-server.yml
|
parameters:
|
||||||
parameters:
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
VSCODE_RUN_UNIT_TESTS: true
|
||||||
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
|
|
||||||
- stage: Windows
|
- job: Linuxx64IntegrationTest
|
||||||
dependsOn:
|
displayName: Linux (Integration Tests)
|
||||||
- Compile
|
pool: vscode-1es-vscode-linux-20.04
|
||||||
pool: vscode-1es-vscode-windows-2019
|
timeoutInMinutes: 30
|
||||||
jobs:
|
variables:
|
||||||
- job: WindowsUnitTests
|
VSCODE_ARCH: x64
|
||||||
displayName: Unit Tests
|
NPM_ARCH: x64
|
||||||
timeoutInMinutes: 120
|
DISPLAY: ":10"
|
||||||
variables:
|
steps:
|
||||||
VSCODE_ARCH: x64
|
- template: linux/product-build-linux-client.yml
|
||||||
steps:
|
parameters:
|
||||||
- template: win32/product-build-win32.yml
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
parameters:
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_RUN_INTEGRATION_TESTS: true
|
||||||
VSCODE_RUN_UNIT_TESTS: true
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
|
||||||
- job: WindowsIntegrationTests
|
|
||||||
displayName: Integration Tests
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: win32/product-build-win32.yml
|
|
||||||
parameters:
|
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: true
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
|
||||||
- job: WindowsSmokeTests
|
|
||||||
displayName: Smoke Tests
|
|
||||||
timeoutInMinutes: 120
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: win32/product-build-win32.yml
|
|
||||||
parameters:
|
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: true
|
|
||||||
|
|
||||||
- stage: Linux
|
- job: Linuxx64SmokeTest
|
||||||
dependsOn:
|
displayName: Linux (Smoke Tests)
|
||||||
- Compile
|
pool: vscode-1es-vscode-linux-20.04
|
||||||
- LinuxServerDependencies
|
timeoutInMinutes: 30
|
||||||
pool: vscode-1es-vscode-linux-18.04
|
variables:
|
||||||
jobs:
|
VSCODE_ARCH: x64
|
||||||
- job: Linuxx64UnitTest
|
NPM_ARCH: x64
|
||||||
displayName: Unit Tests
|
DISPLAY: ":10"
|
||||||
container: vscode-bionic-x64
|
steps:
|
||||||
variables:
|
- template: linux/product-build-linux-client.yml
|
||||||
VSCODE_ARCH: x64
|
parameters:
|
||||||
NPM_ARCH: x64
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
DISPLAY: ":10"
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
steps:
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
- template: linux/product-build-linux-client.yml
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
parameters:
|
VSCODE_RUN_SMOKE_TESTS: true
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: true
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
|
||||||
- job: Linuxx64IntegrationTest
|
|
||||||
displayName: Integration Tests
|
|
||||||
container: vscode-bionic-x64
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
NPM_ARCH: x64
|
|
||||||
DISPLAY: ":10"
|
|
||||||
steps:
|
|
||||||
- template: linux/product-build-linux-client.yml
|
|
||||||
parameters:
|
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: true
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
|
||||||
- job: Linuxx64SmokeTest
|
|
||||||
displayName: Smoke Tests
|
|
||||||
container: vscode-bionic-x64
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
NPM_ARCH: x64
|
|
||||||
DISPLAY: ":10"
|
|
||||||
steps:
|
|
||||||
- template: linux/product-build-linux-client.yml
|
|
||||||
parameters:
|
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: true
|
|
||||||
|
|
||||||
- stage: macOS
|
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
||||||
dependsOn:
|
- job: Linuxx64MaintainNodeModulesCache
|
||||||
- Compile
|
displayName: Linux (Maintain node_modules cache)
|
||||||
pool:
|
pool: vscode-1es-vscode-linux-20.04
|
||||||
vmImage: macOS-latest
|
timeoutInMinutes: 30
|
||||||
variables:
|
variables:
|
||||||
BUILDSECMON_OPT_IN: true
|
VSCODE_ARCH: x64
|
||||||
jobs:
|
steps:
|
||||||
- job: macOSUnitTest
|
- template: product-build-pr-cache.yml
|
||||||
displayName: Unit Tests
|
|
||||||
timeoutInMinutes: 90
|
# - job: macOSUnitTest
|
||||||
variables:
|
# displayName: macOS (Unit Tests)
|
||||||
VSCODE_ARCH: x64
|
# pool:
|
||||||
steps:
|
# vmImage: macOS-latest
|
||||||
- template: darwin/product-build-darwin.yml
|
# timeoutInMinutes: 60
|
||||||
parameters:
|
# variables:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
# BUILDSECMON_OPT_IN: true
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
# VSCODE_ARCH: x64
|
||||||
VSCODE_RUN_UNIT_TESTS: true
|
# steps:
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
# - template: darwin/product-build-darwin.yml
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
# parameters:
|
||||||
- job: macOSIntegrationTest
|
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
displayName: Integration Tests
|
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
timeoutInMinutes: 90
|
# VSCODE_RUN_UNIT_TESTS: true
|
||||||
variables:
|
# VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
VSCODE_ARCH: x64
|
# VSCODE_RUN_SMOKE_TESTS: false
|
||||||
steps:
|
# - job: macOSIntegrationTest
|
||||||
- template: darwin/product-build-darwin.yml
|
# displayName: macOS (Integration Tests)
|
||||||
parameters:
|
# pool:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
# vmImage: macOS-latest
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
# timeoutInMinutes: 60
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
# variables:
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: true
|
# BUILDSECMON_OPT_IN: true
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
# VSCODE_ARCH: x64
|
||||||
- job: macOSSmokeTest
|
# steps:
|
||||||
displayName: Smoke Tests
|
# - template: darwin/product-build-darwin.yml
|
||||||
timeoutInMinutes: 90
|
# parameters:
|
||||||
variables:
|
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_ARCH: x64
|
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
steps:
|
# VSCODE_RUN_UNIT_TESTS: false
|
||||||
- template: darwin/product-build-darwin.yml
|
# VSCODE_RUN_INTEGRATION_TESTS: true
|
||||||
parameters:
|
# VSCODE_RUN_SMOKE_TESTS: false
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
# - job: macOSSmokeTest
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
# displayName: macOS (Smoke Tests)
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
# pool:
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
# vmImage: macOS-latest
|
||||||
VSCODE_RUN_SMOKE_TESTS: true
|
# timeoutInMinutes: 60
|
||||||
|
# variables:
|
||||||
|
# BUILDSECMON_OPT_IN: true
|
||||||
|
# VSCODE_ARCH: x64
|
||||||
|
# steps:
|
||||||
|
# - template: darwin/product-build-darwin.yml
|
||||||
|
# parameters:
|
||||||
|
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
|
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
# VSCODE_RUN_UNIT_TESTS: false
|
||||||
|
# VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
|
# VSCODE_RUN_SMOKE_TESTS: true
|
||||||
|
|
||||||
|
# - job: WindowsUnitTests
|
||||||
|
# displayName: Windows (Unit Tests)
|
||||||
|
# pool: vscode-1es-vscode-windows-2019
|
||||||
|
# timeoutInMinutes: 60
|
||||||
|
# variables:
|
||||||
|
# VSCODE_ARCH: x64
|
||||||
|
# steps:
|
||||||
|
# - template: win32/product-build-win32.yml
|
||||||
|
# parameters:
|
||||||
|
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
|
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
# VSCODE_RUN_UNIT_TESTS: true
|
||||||
|
# VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
|
# VSCODE_RUN_SMOKE_TESTS: false
|
||||||
|
# - job: WindowsIntegrationTests
|
||||||
|
# displayName: Windows (Integration Tests)
|
||||||
|
# pool: vscode-1es-vscode-windows-2019
|
||||||
|
# timeoutInMinutes: 60
|
||||||
|
# variables:
|
||||||
|
# VSCODE_ARCH: x64
|
||||||
|
# steps:
|
||||||
|
# - template: win32/product-build-win32.yml
|
||||||
|
# parameters:
|
||||||
|
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
|
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
# VSCODE_RUN_UNIT_TESTS: false
|
||||||
|
# VSCODE_RUN_INTEGRATION_TESTS: true
|
||||||
|
# VSCODE_RUN_SMOKE_TESTS: false
|
||||||
|
# - job: WindowsSmokeTests
|
||||||
|
# displayName: Windows (Smoke Tests)
|
||||||
|
# pool: vscode-1es-vscode-windows-2019
|
||||||
|
# timeoutInMinutes: 60
|
||||||
|
# variables:
|
||||||
|
# VSCODE_ARCH: x64
|
||||||
|
# steps:
|
||||||
|
# - template: win32/product-build-win32.yml
|
||||||
|
# parameters:
|
||||||
|
# VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
|
# VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
# VSCODE_RUN_UNIT_TESTS: false
|
||||||
|
# VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
|
# VSCODE_RUN_SMOKE_TESTS: true
|
||||||
|
|
|
@ -108,9 +108,11 @@ variables:
|
||||||
- name: VSCODE_BUILD_STAGE_WINDOWS
|
- name: VSCODE_BUILD_STAGE_WINDOWS
|
||||||
value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
|
value: ${{ or(eq(parameters.VSCODE_BUILD_WIN32, true), eq(parameters.VSCODE_BUILD_WIN32_32BIT, true), eq(parameters.VSCODE_BUILD_WIN32_ARM64, true)) }}
|
||||||
- name: VSCODE_BUILD_STAGE_LINUX
|
- name: VSCODE_BUILD_STAGE_LINUX
|
||||||
value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true), eq(parameters.VSCODE_BUILD_WEB, true)) }}
|
value: ${{ or(eq(parameters.VSCODE_BUILD_LINUX, true), eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true), eq(parameters.VSCODE_BUILD_LINUX_ARM64, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE, true), eq(parameters.VSCODE_BUILD_LINUX_ALPINE_ARM64, true)) }}
|
||||||
- name: VSCODE_BUILD_STAGE_MACOS
|
- name: VSCODE_BUILD_STAGE_MACOS
|
||||||
value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}
|
value: ${{ or(eq(parameters.VSCODE_BUILD_MACOS, true), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}
|
||||||
|
- name: VSCODE_BUILD_STAGE_WEB
|
||||||
|
value: ${{ eq(parameters.VSCODE_BUILD_WEB, true) }}
|
||||||
- name: VSCODE_CIBUILD
|
- name: VSCODE_CIBUILD
|
||||||
value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
|
value: ${{ in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI') }}
|
||||||
- name: VSCODE_PUBLISH
|
- name: VSCODE_PUBLISH
|
||||||
|
@ -176,45 +178,45 @@ stages:
|
||||||
pool: vscode-1es-windows
|
pool: vscode-1es-windows
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
||||||
- job: WindowsUnitTests
|
- job: WindowsUnitTests
|
||||||
displayName: Unit Tests
|
displayName: Unit Tests
|
||||||
timeoutInMinutes: 60
|
timeoutInMinutes: 60
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: x64
|
VSCODE_ARCH: x64
|
||||||
steps:
|
steps:
|
||||||
- template: win32/product-build-win32.yml
|
- template: win32/product-build-win32.yml
|
||||||
parameters:
|
parameters:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: true
|
VSCODE_RUN_UNIT_TESTS: true
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
- job: WindowsIntegrationTests
|
- job: WindowsIntegrationTests
|
||||||
displayName: Integration Tests
|
displayName: Integration Tests
|
||||||
timeoutInMinutes: 60
|
timeoutInMinutes: 60
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: x64
|
VSCODE_ARCH: x64
|
||||||
steps:
|
steps:
|
||||||
- template: win32/product-build-win32.yml
|
- template: win32/product-build-win32.yml
|
||||||
parameters:
|
parameters:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: true
|
VSCODE_RUN_INTEGRATION_TESTS: true
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
- job: WindowsSmokeTests
|
- job: WindowsSmokeTests
|
||||||
displayName: Smoke Tests
|
displayName: Smoke Tests
|
||||||
timeoutInMinutes: 60
|
timeoutInMinutes: 60
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: x64
|
VSCODE_ARCH: x64
|
||||||
steps:
|
steps:
|
||||||
- template: win32/product-build-win32.yml
|
- template: win32/product-build-win32.yml
|
||||||
parameters:
|
parameters:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
VSCODE_RUN_SMOKE_TESTS: true
|
VSCODE_RUN_SMOKE_TESTS: true
|
||||||
|
|
||||||
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32, true)) }}:
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WIN32, true)) }}:
|
||||||
- job: Windows
|
- job: Windows
|
||||||
|
@ -291,51 +293,51 @@ stages:
|
||||||
pool: vscode-1es-linux
|
pool: vscode-1es-linux
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
||||||
- job: Linuxx64UnitTest
|
- job: Linuxx64UnitTest
|
||||||
displayName: Unit Tests
|
displayName: Unit Tests
|
||||||
container: vscode-bionic-x64
|
container: vscode-bionic-x64
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: x64
|
VSCODE_ARCH: x64
|
||||||
NPM_ARCH: x64
|
NPM_ARCH: x64
|
||||||
DISPLAY: ":10"
|
DISPLAY: ":10"
|
||||||
steps:
|
steps:
|
||||||
- template: linux/product-build-linux-client.yml
|
- template: linux/product-build-linux-client.yml
|
||||||
parameters:
|
parameters:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: true
|
VSCODE_RUN_UNIT_TESTS: true
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
- job: Linuxx64IntegrationTest
|
- job: Linuxx64IntegrationTest
|
||||||
displayName: Integration Tests
|
displayName: Integration Tests
|
||||||
container: vscode-bionic-x64
|
container: vscode-bionic-x64
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: x64
|
VSCODE_ARCH: x64
|
||||||
NPM_ARCH: x64
|
NPM_ARCH: x64
|
||||||
DISPLAY: ":10"
|
DISPLAY: ":10"
|
||||||
steps:
|
steps:
|
||||||
- template: linux/product-build-linux-client.yml
|
- template: linux/product-build-linux-client.yml
|
||||||
parameters:
|
parameters:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: true
|
VSCODE_RUN_INTEGRATION_TESTS: true
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
- job: Linuxx64SmokeTest
|
- job: Linuxx64SmokeTest
|
||||||
displayName: Smoke Tests
|
displayName: Smoke Tests
|
||||||
container: vscode-bionic-x64
|
container: vscode-bionic-x64
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: x64
|
VSCODE_ARCH: x64
|
||||||
NPM_ARCH: x64
|
NPM_ARCH: x64
|
||||||
DISPLAY: ":10"
|
DISPLAY: ":10"
|
||||||
steps:
|
steps:
|
||||||
- template: linux/product-build-linux-client.yml
|
- template: linux/product-build-linux-client.yml
|
||||||
parameters:
|
parameters:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
VSCODE_RUN_SMOKE_TESTS: true
|
VSCODE_RUN_SMOKE_TESTS: true
|
||||||
|
|
||||||
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX, true)) }}:
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_LINUX, true)) }}:
|
||||||
- job: Linuxx64
|
- job: Linuxx64
|
||||||
|
@ -430,13 +432,6 @@ stages:
|
||||||
steps:
|
steps:
|
||||||
- template: linux/product-build-alpine.yml
|
- template: linux/product-build-alpine.yml
|
||||||
|
|
||||||
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_WEB, true)) }}:
|
|
||||||
- job: LinuxWeb
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: web/product-build-web.yml
|
|
||||||
|
|
||||||
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_MACOS'], true)) }}:
|
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_MACOS'], true)) }}:
|
||||||
- stage: macOS
|
- stage: macOS
|
||||||
dependsOn:
|
dependsOn:
|
||||||
|
@ -447,62 +442,8 @@ stages:
|
||||||
BUILDSECMON_OPT_IN: true
|
BUILDSECMON_OPT_IN: true
|
||||||
jobs:
|
jobs:
|
||||||
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
- ${{ if eq(variables['VSCODE_CIBUILD'], true) }}:
|
||||||
- job: macOSUnitTest
|
- job: macOSUnitTest
|
||||||
displayName: Unit Tests
|
displayName: Unit Tests
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: darwin/product-build-darwin.yml
|
|
||||||
parameters:
|
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: true
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
|
||||||
- job: macOSIntegrationTest
|
|
||||||
displayName: Integration Tests
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: darwin/product-build-darwin.yml
|
|
||||||
parameters:
|
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: true
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
|
||||||
- job: macOSSmokeTest
|
|
||||||
displayName: Smoke Tests
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: darwin/product-build-darwin.yml
|
|
||||||
parameters:
|
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: true
|
|
||||||
|
|
||||||
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS, true)) }}:
|
|
||||||
- job: macOS
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
variables:
|
|
||||||
VSCODE_ARCH: x64
|
|
||||||
steps:
|
|
||||||
- template: darwin/product-build-darwin.yml
|
|
||||||
parameters:
|
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
|
||||||
VSCODE_RUN_UNIT_TESTS: false
|
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: false
|
|
||||||
VSCODE_RUN_SMOKE_TESTS: false
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_STEP_ON_IT, false) }}:
|
|
||||||
- job: macOSTest
|
|
||||||
timeoutInMinutes: 90
|
timeoutInMinutes: 90
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: x64
|
VSCODE_ARCH: x64
|
||||||
|
@ -511,19 +452,73 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
VSCODE_RUN_UNIT_TESTS: true
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
|
- job: macOSIntegrationTest
|
||||||
- ${{ if eq(variables['VSCODE_PUBLISH'], true) }}:
|
displayName: Integration Tests
|
||||||
- job: macOSSign
|
|
||||||
dependsOn:
|
|
||||||
- macOS
|
|
||||||
timeoutInMinutes: 90
|
timeoutInMinutes: 90
|
||||||
variables:
|
variables:
|
||||||
VSCODE_ARCH: x64
|
VSCODE_ARCH: x64
|
||||||
steps:
|
steps:
|
||||||
- template: darwin/product-build-darwin-sign.yml
|
- template: darwin/product-build-darwin.yml
|
||||||
|
parameters:
|
||||||
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
|
VSCODE_RUN_INTEGRATION_TESTS: true
|
||||||
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
|
- job: macOSSmokeTest
|
||||||
|
displayName: Smoke Tests
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: darwin/product-build-darwin.yml
|
||||||
|
parameters:
|
||||||
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
|
VSCODE_RUN_SMOKE_TESTS: true
|
||||||
|
|
||||||
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS, true)) }}:
|
||||||
|
- job: macOS
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: darwin/product-build-darwin.yml
|
||||||
|
parameters:
|
||||||
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
VSCODE_RUN_UNIT_TESTS: false
|
||||||
|
VSCODE_RUN_INTEGRATION_TESTS: false
|
||||||
|
VSCODE_RUN_SMOKE_TESTS: false
|
||||||
|
|
||||||
|
- ${{ if eq(parameters.VSCODE_STEP_ON_IT, false) }}:
|
||||||
|
- job: macOSTest
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: darwin/product-build-darwin.yml
|
||||||
|
parameters:
|
||||||
|
VSCODE_PUBLISH: ${{ variables.VSCODE_PUBLISH }}
|
||||||
|
VSCODE_QUALITY: ${{ variables.VSCODE_QUALITY }}
|
||||||
|
VSCODE_RUN_UNIT_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
||||||
|
VSCODE_RUN_INTEGRATION_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
||||||
|
VSCODE_RUN_SMOKE_TESTS: ${{ eq(parameters.VSCODE_STEP_ON_IT, false) }}
|
||||||
|
|
||||||
|
- ${{ if eq(variables['VSCODE_PUBLISH'], true) }}:
|
||||||
|
- job: macOSSign
|
||||||
|
dependsOn:
|
||||||
|
- macOS
|
||||||
|
timeoutInMinutes: 90
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: darwin/product-build-darwin-sign.yml
|
||||||
|
|
||||||
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_BUILD_MACOS_ARM64, true)) }}:
|
||||||
- job: macOSARM64
|
- job: macOSARM64
|
||||||
|
@ -570,6 +565,19 @@ stages:
|
||||||
steps:
|
steps:
|
||||||
- template: darwin/product-build-darwin-sign.yml
|
- template: darwin/product-build-darwin-sign.yml
|
||||||
|
|
||||||
|
- ${{ if and(eq(variables['VSCODE_CIBUILD'], false), eq(parameters.VSCODE_COMPILE_ONLY, false), eq(variables['VSCODE_BUILD_STAGE_WEB'], true)) }}:
|
||||||
|
- stage: Web
|
||||||
|
dependsOn:
|
||||||
|
- Compile
|
||||||
|
pool: vscode-1es-linux
|
||||||
|
jobs:
|
||||||
|
- ${{ if eq(parameters.VSCODE_BUILD_WEB, true) }}:
|
||||||
|
- job: Web
|
||||||
|
variables:
|
||||||
|
VSCODE_ARCH: x64
|
||||||
|
steps:
|
||||||
|
- template: web/product-build-web.yml
|
||||||
|
|
||||||
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), ne(variables['VSCODE_PUBLISH'], 'false')) }}:
|
- ${{ if and(eq(parameters.VSCODE_COMPILE_ONLY, false), ne(variables['VSCODE_PUBLISH'], 'false')) }}:
|
||||||
- stage: Publish
|
- stage: Publish
|
||||||
dependsOn:
|
dependsOn:
|
||||||
|
|
|
@ -46,6 +46,7 @@ steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js $VSCODE_ARCH $ENABLE_TERRAPIN > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
displayName: Prepare yarn cache flags
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
# using `genericNodeModules` instead of `nodeModules` here to avoid sharing the cache with builds running inside containers
|
# using `genericNodeModules` instead of `nodeModules` here to avoid sharing the cache with builds running inside containers
|
||||||
|
@ -56,6 +57,13 @@ steps:
|
||||||
cacheHitVar: NODE_MODULES_RESTORED
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
displayName: Restore node_modules cache
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
# Cache built-in extensions to avoid GH rate limits.
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
|
path: .build/builtInExtensions
|
||||||
|
displayName: Restore built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
tar -xzf .build/node_modules_cache/cache.tgz
|
tar -xzf .build/node_modules_cache/cache.tgz
|
||||||
|
@ -94,6 +102,13 @@ steps:
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/lib/builtInExtensions.js
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
||||||
|
@ -116,12 +131,13 @@ steps:
|
||||||
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
displayName: Compile & Hygiene
|
displayName: Compile & Hygiene
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
yarn --cwd test/smoke compile
|
set -e
|
||||||
yarn --cwd test/integration/browser compile
|
yarn --cwd test/smoke compile
|
||||||
displayName: Compile test suites
|
yarn --cwd test/integration/browser compile
|
||||||
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
displayName: Compile test suites
|
||||||
|
condition: and(succeeded(), eq(variables['VSCODE_STEP_ON_IT'], 'false'))
|
||||||
|
|
||||||
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- task: AzureCLI@2
|
- task: AzureCLI@2
|
||||||
|
@ -151,16 +167,18 @@ steps:
|
||||||
./build/azure-pipelines/common/extract-telemetry.sh
|
./build/azure-pipelines/common/extract-telemetry.sh
|
||||||
displayName: Extract Telemetry
|
displayName: Extract Telemetry
|
||||||
|
|
||||||
- script: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
set -e
|
- script: |
|
||||||
tar -cz --ignore-failed-read -f $(Build.ArtifactStagingDirectory)/compilation.tar.gz .build out-* test/integration/browser/out test/smoke/out test/automation/out
|
set -e
|
||||||
displayName: Compress compilation artifact
|
tar -cz --ignore-failed-read -f $(Build.ArtifactStagingDirectory)/compilation.tar.gz .build out-* test/integration/browser/out test/smoke/out test/automation/out
|
||||||
|
displayName: Compress compilation artifact
|
||||||
|
|
||||||
- task: PublishPipelineArtifact@1
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
inputs:
|
- task: PublishPipelineArtifact@1
|
||||||
targetPath: $(Build.ArtifactStagingDirectory)/compilation.tar.gz
|
inputs:
|
||||||
artifactName: Compilation
|
targetPath: $(Build.ArtifactStagingDirectory)/compilation.tar.gz
|
||||||
displayName: Publish compilation artifact
|
artifactName: Compilation
|
||||||
|
displayName: Publish compilation artifact
|
||||||
|
|
||||||
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- script: |
|
- script: |
|
||||||
|
|
|
@ -46,6 +46,7 @@ $stages = @(
|
||||||
if ($env:VSCODE_BUILD_STAGE_WINDOWS -eq 'True') { 'Windows' }
|
if ($env:VSCODE_BUILD_STAGE_WINDOWS -eq 'True') { 'Windows' }
|
||||||
if ($env:VSCODE_BUILD_STAGE_LINUX -eq 'True') { 'Linux' }
|
if ($env:VSCODE_BUILD_STAGE_LINUX -eq 'True') { 'Linux' }
|
||||||
if ($env:VSCODE_BUILD_STAGE_MACOS -eq 'True') { 'macOS' }
|
if ($env:VSCODE_BUILD_STAGE_MACOS -eq 'True') { 'macOS' }
|
||||||
|
if ($env:VSCODE_BUILD_STAGE_WEB -eq 'True') { 'Web' }
|
||||||
)
|
)
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
|
|
@ -109,6 +109,7 @@ steps:
|
||||||
if ($env:VSCODE_BUILD_STAGE_WINDOWS -eq 'True') { 'Windows' }
|
if ($env:VSCODE_BUILD_STAGE_WINDOWS -eq 'True') { 'Windows' }
|
||||||
if ($env:VSCODE_BUILD_STAGE_LINUX -eq 'True') { 'Linux' }
|
if ($env:VSCODE_BUILD_STAGE_LINUX -eq 'True') { 'Linux' }
|
||||||
if ($env:VSCODE_BUILD_STAGE_MACOS -eq 'True') { 'macOS' }
|
if ($env:VSCODE_BUILD_STAGE_MACOS -eq 'True') { 'macOS' }
|
||||||
|
if ($env:VSCODE_BUILD_STAGE_WEB -eq 'True') { 'Web' }
|
||||||
)
|
)
|
||||||
Write-Host "Stages to check: $stages"
|
Write-Host "Stages to check: $stages"
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const cp = require("child_process");
|
const cp = require("child_process");
|
||||||
let tag = '';
|
let tag = '';
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as cp from 'child_process';
|
import * as cp from 'child_process';
|
||||||
|
|
||||||
let tag = '';
|
let tag = '';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const cp = require("child_process");
|
const cp = require("child_process");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as cp from 'child_process';
|
import * as cp from 'child_process';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const Vinyl = require("vinyl");
|
const Vinyl = require("vinyl");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as es from 'event-stream';
|
import * as es from 'event-stream';
|
||||||
import * as Vinyl from 'vinyl';
|
import * as Vinyl from 'vinyl';
|
||||||
import * as vfs from 'vinyl-fs';
|
import * as vfs from 'vinyl-fs';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getSettingsSearchBuildId = exports.shouldSetupSettingsSearch = void 0;
|
exports.getSettingsSearchBuildId = exports.shouldSetupSettingsSearch = void 0;
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as os from 'os';
|
import * as os from 'os';
|
||||||
import * as cp from 'child_process';
|
import * as cp from 'child_process';
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const vfs = require("vinyl-fs");
|
const vfs = require("vinyl-fs");
|
||||||
const merge = require("gulp-merge-json");
|
const merge = require("gulp-merge-json");
|
||||||
const gzip = require("gulp-gzip");
|
const gzip = require("gulp-gzip");
|
||||||
const identity_1 = require("@azure/identity");
|
const identity_1 = require("@azure/identity");
|
||||||
|
const path = require("path");
|
||||||
|
const fs_1 = require("fs");
|
||||||
const azure = require('gulp-azure-storage');
|
const azure = require('gulp-azure-storage');
|
||||||
const commit = process.env['VSCODE_DISTRO_COMMIT'] || process.env['BUILD_SOURCEVERSION'];
|
const commit = process.env['VSCODE_DISTRO_COMMIT'] || process.env['BUILD_SOURCEVERSION'];
|
||||||
const credential = new identity_1.ClientSecretCredential(process.env['AZURE_TENANT_ID'], process.env['AZURE_CLIENT_ID'], process.env['AZURE_CLIENT_SECRET']);
|
const credential = new identity_1.ClientSecretCredential(process.env['AZURE_TENANT_ID'], process.env['AZURE_CLIENT_ID'], process.env['AZURE_CLIENT_SECRET']);
|
||||||
|
@ -18,6 +20,7 @@ function main() {
|
||||||
.pipe(merge({
|
.pipe(merge({
|
||||||
fileName: 'combined.nls.metadata.json',
|
fileName: 'combined.nls.metadata.json',
|
||||||
jsonSpace: '',
|
jsonSpace: '',
|
||||||
|
concatArrays: true,
|
||||||
edit: (parsedJson, file) => {
|
edit: (parsedJson, file) => {
|
||||||
if (file.base === 'out-vscode-web-min') {
|
if (file.base === 'out-vscode-web-min') {
|
||||||
return { vscode: parsedJson };
|
return { vscode: parsedJson };
|
||||||
|
@ -62,7 +65,11 @@ function main() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const key = 'vscode.' + file.relative.split('/')[0];
|
// Get extension id and use that as the key
|
||||||
|
const folderPath = path.join(file.base, file.relative.split('/')[0]);
|
||||||
|
const manifest = (0, fs_1.readFileSync)(path.join(folderPath, 'package.json'), 'utf-8');
|
||||||
|
const manifestJson = JSON.parse(manifest);
|
||||||
|
const key = manifestJson.publisher + '.' + manifestJson.name;
|
||||||
return { [key]: parsedJson };
|
return { [key]: parsedJson };
|
||||||
},
|
},
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -3,14 +3,14 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as es from 'event-stream';
|
import * as es from 'event-stream';
|
||||||
import * as Vinyl from 'vinyl';
|
import * as Vinyl from 'vinyl';
|
||||||
import * as vfs from 'vinyl-fs';
|
import * as vfs from 'vinyl-fs';
|
||||||
import * as merge from 'gulp-merge-json';
|
import * as merge from 'gulp-merge-json';
|
||||||
import * as gzip from 'gulp-gzip';
|
import * as gzip from 'gulp-gzip';
|
||||||
import { ClientSecretCredential } from '@azure/identity';
|
import { ClientSecretCredential } from '@azure/identity';
|
||||||
|
import path = require('path');
|
||||||
|
import { readFileSync } from 'fs';
|
||||||
const azure = require('gulp-azure-storage');
|
const azure = require('gulp-azure-storage');
|
||||||
|
|
||||||
const commit = process.env['VSCODE_DISTRO_COMMIT'] || process.env['BUILD_SOURCEVERSION'];
|
const commit = process.env['VSCODE_DISTRO_COMMIT'] || process.env['BUILD_SOURCEVERSION'];
|
||||||
|
@ -33,6 +33,7 @@ function main(): Promise<void> {
|
||||||
.pipe(merge({
|
.pipe(merge({
|
||||||
fileName: 'combined.nls.metadata.json',
|
fileName: 'combined.nls.metadata.json',
|
||||||
jsonSpace: '',
|
jsonSpace: '',
|
||||||
|
concatArrays: true,
|
||||||
edit: (parsedJson, file) => {
|
edit: (parsedJson, file) => {
|
||||||
if (file.base === 'out-vscode-web-min') {
|
if (file.base === 'out-vscode-web-min') {
|
||||||
return { vscode: parsedJson };
|
return { vscode: parsedJson };
|
||||||
|
@ -81,7 +82,12 @@ function main(): Promise<void> {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const key = 'vscode.' + file.relative.split('/')[0];
|
|
||||||
|
// Get extension id and use that as the key
|
||||||
|
const folderPath = path.join(file.base, file.relative.split('/')[0]);
|
||||||
|
const manifest = readFileSync(path.join(folderPath, 'package.json'), 'utf-8');
|
||||||
|
const manifestJson = JSON.parse(manifest);
|
||||||
|
const key = manifestJson.publisher + '.' + manifestJson.name;
|
||||||
return { [key]: parsedJson };
|
return { [key]: parsedJson };
|
||||||
},
|
},
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as es from 'event-stream';
|
import * as es from 'event-stream';
|
||||||
import * as Vinyl from 'vinyl';
|
import * as Vinyl from 'vinyl';
|
||||||
|
|
|
@ -49,6 +49,7 @@ steps:
|
||||||
- script: |
|
- script: |
|
||||||
mkdir -p .build
|
mkdir -p .build
|
||||||
node build/azure-pipelines/common/computeNodeModulesCacheKey.js "web" $ENABLE_TERRAPIN > .build/yarnlockhash
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js "web" $ENABLE_TERRAPIN > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
displayName: Prepare yarn cache flags
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
- task: Cache@2
|
- task: Cache@2
|
||||||
|
@ -58,6 +59,12 @@ steps:
|
||||||
cacheHitVar: NODE_MODULES_RESTORED
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
displayName: Restore node_modules cache
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
|
path: .build/builtInExtensions
|
||||||
|
displayName: Restore built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
tar -xzf .build/node_modules_cache/cache.tgz
|
tar -xzf .build/node_modules_cache/cache.tgz
|
||||||
|
@ -89,6 +96,13 @@ steps:
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/lib/builtInExtensions.js
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
node build/azure-pipelines/common/listNodeModules.js .build/node_modules_list.txt
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
parameters:
|
parameters:
|
||||||
|
- name: VSCODE_QUALITY
|
||||||
|
type: string
|
||||||
- name: VSCODE_RUN_UNIT_TESTS
|
- name: VSCODE_RUN_UNIT_TESTS
|
||||||
type: boolean
|
type: boolean
|
||||||
- name: VSCODE_RUN_INTEGRATION_TESTS
|
- name: VSCODE_RUN_INTEGRATION_TESTS
|
||||||
|
@ -15,35 +17,58 @@ steps:
|
||||||
displayName: Download Electron and Playwright
|
displayName: Download Electron and Playwright
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
||||||
- powershell: |
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
- powershell: |
|
||||||
$ErrorActionPreference = "Stop"
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
exec { yarn electron $(VSCODE_ARCH) }
|
$ErrorActionPreference = "Stop"
|
||||||
exec { .\scripts\test.bat --build --tfs "Unit Tests" }
|
exec { yarn electron $(VSCODE_ARCH) }
|
||||||
displayName: Run unit tests (Electron)
|
exec { .\scripts\test.bat --tfs "Unit Tests" }
|
||||||
timeoutInMinutes: 15
|
displayName: Run unit tests (Electron)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
- powershell: |
|
||||||
- powershell: |
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
$ErrorActionPreference = "Stop"
|
||||||
$ErrorActionPreference = "Stop"
|
exec { yarn test-node }
|
||||||
exec { yarn test-node --build }
|
displayName: Run unit tests (node.js)
|
||||||
displayName: Run unit tests (node.js)
|
timeoutInMinutes: 15
|
||||||
timeoutInMinutes: 15
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_UNIT_TESTS, true) }}:
|
- powershell: |
|
||||||
- powershell: |
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
$ErrorActionPreference = "Stop"
|
||||||
$ErrorActionPreference = "Stop"
|
exec { node test/unit/browser/index.js --sequential --browser chromium --tfs "Browser Unit Tests" }
|
||||||
exec { yarn test-browser-no-install --sequential --build --browser chromium --browser firefox --tfs "Browser Unit Tests" }
|
displayName: Run unit tests (Browser, Chromium)
|
||||||
displayName: Run unit tests (Browser, Chromium & Firefox)
|
timeoutInMinutes: 20
|
||||||
timeoutInMinutes: 20
|
|
||||||
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
exec { yarn electron $(VSCODE_ARCH) }
|
||||||
|
exec { .\scripts\test.bat --build --tfs "Unit Tests" }
|
||||||
|
displayName: Run unit tests (Electron)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
exec { yarn test-node --build }
|
||||||
|
displayName: Run unit tests (node.js)
|
||||||
|
timeoutInMinutes: 15
|
||||||
|
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
exec { yarn test-browser-no-install --sequential --build --browser chromium --tfs "Browser Unit Tests" }
|
||||||
|
displayName: Run unit tests (Browser, Chromium)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { yarn gulp `
|
exec { yarn gulp `
|
||||||
|
compile-extension:configuration-editing `
|
||||||
compile-extension:css-language-features-server `
|
compile-extension:css-language-features-server `
|
||||||
compile-extension:emmet `
|
compile-extension:emmet `
|
||||||
compile-extension:git `
|
compile-extension:git `
|
||||||
|
@ -51,50 +76,70 @@ steps:
|
||||||
compile-extension:html-language-features-server `
|
compile-extension:html-language-features-server `
|
||||||
compile-extension:ipynb `
|
compile-extension:ipynb `
|
||||||
compile-extension:json-language-features-server `
|
compile-extension:json-language-features-server `
|
||||||
|
compile-extension:markdown-language-features-server `
|
||||||
compile-extension:markdown-language-features `
|
compile-extension:markdown-language-features `
|
||||||
compile-extension-media `
|
compile-extension-media `
|
||||||
compile-extension:microsoft-authentication `
|
compile-extension:microsoft-authentication `
|
||||||
compile-extension:typescript-language-features `
|
compile-extension:typescript-language-features `
|
||||||
compile-extension:vscode-api-tests `
|
compile-extension:vscode-api-tests `
|
||||||
compile-extension:vscode-colorize-tests `
|
compile-extension:vscode-colorize-tests `
|
||||||
compile-extension:vscode-custom-editor-tests `
|
|
||||||
compile-extension:vscode-notebook-tests `
|
compile-extension:vscode-notebook-tests `
|
||||||
compile-extension:vscode-test-resolver `
|
compile-extension:vscode-test-resolver `
|
||||||
}
|
}
|
||||||
displayName: Build integration tests
|
displayName: Build integration tests
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
# Figure out the full absolute path of the product we just built
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
# including the remote server and configure the integration tests
|
$ErrorActionPreference = "Stop"
|
||||||
# to run with these builds instead of running out of sources.
|
exec { .\scripts\test-integration.bat --tfs "Integration Tests" }
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
displayName: Run integration tests (Electron)
|
||||||
$ErrorActionPreference = "Stop"
|
timeoutInMinutes: 20
|
||||||
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
|
||||||
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
|
||||||
$AppNameShort = $AppProductJson.nameShort
|
|
||||||
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-integration.bat --build --tfs "Integration Tests" }
|
|
||||||
displayName: Run integration tests (Electron)
|
|
||||||
timeoutInMinutes: 20
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- powershell: |
|
||||||
- powershell: |
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
$ErrorActionPreference = "Stop"
|
||||||
$ErrorActionPreference = "Stop"
|
exec { .\scripts\test-web-integration.bat --browser firefox }
|
||||||
exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\scripts\test-web-integration.bat --browser firefox }
|
displayName: Run integration tests (Browser, Firefox)
|
||||||
displayName: Run integration tests (Browser, Firefox)
|
timeoutInMinutes: 20
|
||||||
timeoutInMinutes: 20
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true) }}:
|
- powershell: |
|
||||||
- powershell: |
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
$ErrorActionPreference = "Stop"
|
||||||
$ErrorActionPreference = "Stop"
|
exec { .\scripts\test-remote-integration.bat }
|
||||||
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
displayName: Run integration tests (Remote)
|
||||||
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
timeoutInMinutes: 20
|
||||||
$AppNameShort = $AppProductJson.nameShort
|
|
||||||
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-remote-integration.bat }
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
displayName: Run integration tests (Remote)
|
- powershell: |
|
||||||
timeoutInMinutes: 20
|
# Figure out the full absolute path of the product we just built
|
||||||
|
# including the remote server and configure the integration tests
|
||||||
|
# to run with these builds instead of running out of sources.
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
||||||
|
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
||||||
|
$AppNameShort = $AppProductJson.nameShort
|
||||||
|
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-integration.bat --build --tfs "Integration Tests" }
|
||||||
|
displayName: Run integration tests (Electron)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
exec { $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"; .\scripts\test-web-integration.bat --browser firefox }
|
||||||
|
displayName: Run integration tests (Browser, Firefox)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
||||||
|
$AppProductJson = Get-Content -Raw -Path "$AppRoot\resources\app\product.json" | ConvertFrom-Json
|
||||||
|
$AppNameShort = $AppProductJson.nameShort
|
||||||
|
exec { $env:INTEGRATION_TEST_ELECTRON_PATH = "$AppRoot\$AppNameShort.exe"; $env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"; .\scripts\test-remote-integration.bat }
|
||||||
|
displayName: Run integration tests (Remote)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
|
@ -104,36 +149,47 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: succeededOrFailed()
|
condition: succeededOrFailed()
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"
|
exec { yarn --cwd test/smoke compile }
|
||||||
exec { yarn smoketest-no-compile --web --tracing --headless }
|
displayName: Compile smoke tests
|
||||||
displayName: Run smoke tests (Browser, Chromium)
|
|
||||||
timeoutInMinutes: 20
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- powershell: |
|
||||||
- powershell: |
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
$ErrorActionPreference = "Stop"
|
||||||
$ErrorActionPreference = "Stop"
|
exec { yarn smoketest-no-compile --tracing }
|
||||||
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
displayName: Run smoke tests (Electron)
|
||||||
exec { yarn smoketest-no-compile --tracing --build "$AppRoot" }
|
timeoutInMinutes: 20
|
||||||
displayName: Run smoke tests (Electron)
|
|
||||||
timeoutInMinutes: 20
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
||||||
$env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"
|
exec { yarn smoketest-no-compile --tracing --build "$AppRoot" }
|
||||||
exec { yarn gulp compile-extension:vscode-test-resolver }
|
displayName: Run smoke tests (Electron)
|
||||||
exec { yarn smoketest-no-compile --tracing --remote --build "$AppRoot" }
|
timeoutInMinutes: 20
|
||||||
displayName: Run smoke tests (Remote)
|
|
||||||
timeoutInMinutes: 20
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
$env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-web-win32-$(VSCODE_ARCH)"
|
||||||
|
exec { yarn smoketest-no-compile --web --tracing --headless }
|
||||||
|
displayName: Run smoke tests (Browser, Chromium)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
$AppRoot = "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
||||||
|
$env:VSCODE_REMOTE_SERVER_PATH = "$(agent.builddirectory)\vscode-reh-win32-$(VSCODE_ARCH)"
|
||||||
|
exec { yarn gulp compile-extension:vscode-test-resolver }
|
||||||
|
exec { yarn smoketest-no-compile --tracing --remote --build "$AppRoot" }
|
||||||
|
displayName: Run smoke tests (Remote)
|
||||||
|
timeoutInMinutes: 20
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_RUN_SMOKE_TESTS, true) }}:
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
exec {.\build\azure-pipelines\win32\listprocesses.bat }
|
exec {.\build\azure-pipelines\win32\listprocesses.bat }
|
||||||
|
@ -155,7 +211,6 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
|
||||||
# In order to properly symbolify above crash reports
|
# In order to properly symbolify above crash reports
|
||||||
# (if any), we need the compiled native modules too
|
# (if any), we need the compiled native modules too
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
|
@ -171,7 +226,6 @@ steps:
|
||||||
continueOnError: true
|
continueOnError: true
|
||||||
condition: failed()
|
condition: failed()
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
inputs:
|
inputs:
|
||||||
targetPath: .build\logs
|
targetPath: .build\logs
|
||||||
|
|
|
@ -11,6 +11,11 @@ parameters:
|
||||||
type: boolean
|
type: boolean
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- checkout: self
|
||||||
|
fetchDepth: 1
|
||||||
|
retryCountOnTaskFailure: 3
|
||||||
|
|
||||||
- task: NodeTool@0
|
- task: NodeTool@0
|
||||||
inputs:
|
inputs:
|
||||||
versionSpec: "16.x"
|
versionSpec: "16.x"
|
||||||
|
@ -28,17 +33,19 @@ steps:
|
||||||
KeyVaultName: vscode
|
KeyVaultName: vscode
|
||||||
SecretsFilter: "github-distro-mixin-password,ESRP-PKI,esrp-aad-username,esrp-aad-password"
|
SecretsFilter: "github-distro-mixin-password,ESRP-PKI,esrp-aad-username,esrp-aad-password"
|
||||||
|
|
||||||
- task: DownloadPipelineArtifact@2
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
inputs:
|
- task: DownloadPipelineArtifact@2
|
||||||
artifact: Compilation
|
inputs:
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
artifact: Compilation
|
||||||
displayName: Download compilation output
|
path: $(Build.ArtifactStagingDirectory)
|
||||||
|
displayName: Download compilation output
|
||||||
|
|
||||||
- task: ExtractFiles@1
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
displayName: Extract compilation output
|
- task: ExtractFiles@1
|
||||||
inputs:
|
displayName: Extract compilation output
|
||||||
archiveFilePatterns: "$(Build.ArtifactStagingDirectory)/compilation.tar.gz"
|
inputs:
|
||||||
cleanDestinationFolder: false
|
archiveFilePatterns: "$(Build.ArtifactStagingDirectory)/compilation.tar.gz"
|
||||||
|
cleanDestinationFolder: false
|
||||||
|
|
||||||
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
|
@ -69,9 +76,11 @@ steps:
|
||||||
displayName: Merge distro
|
displayName: Merge distro
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
|
if (!(Test-Path ".build")) { New-Item -Path ".build" -ItemType Directory }
|
||||||
"$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
|
"$(VSCODE_ARCH)" | Out-File -Encoding ascii -NoNewLine .build\arch
|
||||||
"$env:ENABLE_TERRAPIN" | Out-File -Encoding ascii -NoNewLine .build\terrapin
|
"$env:ENABLE_TERRAPIN" | Out-File -Encoding ascii -NoNewLine .build\terrapin
|
||||||
node build/azure-pipelines/common/computeNodeModulesCacheKey.js > .build/yarnlockhash
|
node build/azure-pipelines/common/computeNodeModulesCacheKey.js > .build/yarnlockhash
|
||||||
|
node build/azure-pipelines/common/computeBuiltInDepsCacheKey.js > .build/builtindepshash
|
||||||
displayName: Prepare yarn cache flags
|
displayName: Prepare yarn cache flags
|
||||||
|
|
||||||
- task: Cache@2
|
- task: Cache@2
|
||||||
|
@ -81,6 +90,12 @@ steps:
|
||||||
cacheHitVar: NODE_MODULES_RESTORED
|
cacheHitVar: NODE_MODULES_RESTORED
|
||||||
displayName: Restore node_modules cache
|
displayName: Restore node_modules cache
|
||||||
|
|
||||||
|
- task: Cache@2
|
||||||
|
inputs:
|
||||||
|
key: '"builtInDeps" | .build/builtindepshash'
|
||||||
|
path: .build/builtInExtensions
|
||||||
|
displayName: Restore built-in extensions
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
|
@ -111,6 +126,14 @@ steps:
|
||||||
displayName: Install dependencies
|
displayName: Install dependencies
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
exec { node build/lib/builtInExtensions.js }
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||||
|
displayName: Download missing built-in extensions
|
||||||
|
|
||||||
- powershell: |
|
- powershell: |
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$ErrorActionPreference = "Stop"
|
$ErrorActionPreference = "Stop"
|
||||||
|
@ -127,13 +150,29 @@ steps:
|
||||||
exec { node build/azure-pipelines/mixin }
|
exec { node build/azure-pipelines/mixin }
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
|
|
||||||
- powershell: |
|
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
- powershell: |
|
||||||
$ErrorActionPreference = "Stop"
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { yarn gulp "vscode-win32-$(VSCODE_ARCH)-min-ci" }
|
exec { node build\lib\policies }
|
||||||
echo "##vso[task.setvariable variable=CodeSigningFolderPath]$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH)"
|
displayName: Generate Group Policy definitions
|
||||||
displayName: Build
|
|
||||||
|
- ${{ if eq(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
||||||
|
exec { yarn gulp "transpile-client" "transpile-extensions" }
|
||||||
|
displayName: Transpile
|
||||||
|
|
||||||
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
|
- powershell: |
|
||||||
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
||||||
|
exec { yarn gulp "vscode-win32-$(VSCODE_ARCH)-min-ci" }
|
||||||
|
echo "##vso[task.setvariable variable=CodeSigningFolderPath]$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH)"
|
||||||
|
displayName: Build
|
||||||
|
|
||||||
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
|
- ${{ if eq(parameters.VSCODE_PUBLISH, true) }}:
|
||||||
- powershell: |
|
- powershell: |
|
||||||
|
@ -151,19 +190,21 @@ steps:
|
||||||
displayName: Mix in quality
|
displayName: Mix in quality
|
||||||
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'arm64'))
|
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'arm64'))
|
||||||
|
|
||||||
- powershell: |
|
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
|
||||||
. build/azure-pipelines/win32/exec.ps1
|
- powershell: |
|
||||||
$ErrorActionPreference = "Stop"
|
. build/azure-pipelines/win32/exec.ps1
|
||||||
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
$ErrorActionPreference = "Stop"
|
||||||
exec { yarn gulp "vscode-reh-win32-$(VSCODE_ARCH)-min-ci" }
|
$env:VSCODE_MIXIN_PASSWORD="$(github-distro-mixin-password)"
|
||||||
exec { yarn gulp "vscode-reh-web-win32-$(VSCODE_ARCH)-min-ci" }
|
exec { yarn gulp "vscode-reh-win32-$(VSCODE_ARCH)-min-ci" }
|
||||||
echo "##vso[task.setvariable variable=CodeSigningFolderPath]$(CodeSigningFolderPath),$(agent.builddirectory)/vscode-reh-win32-$(VSCODE_ARCH)"
|
exec { yarn gulp "vscode-reh-web-win32-$(VSCODE_ARCH)-min-ci" }
|
||||||
displayName: Build Server
|
echo "##vso[task.setvariable variable=CodeSigningFolderPath]$(CodeSigningFolderPath),$(agent.builddirectory)/vscode-reh-win32-$(VSCODE_ARCH)"
|
||||||
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'arm64'))
|
displayName: Build Server
|
||||||
|
condition: and(succeeded(), ne(variables['VSCODE_ARCH'], 'arm64'))
|
||||||
|
|
||||||
- ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
- ${{ if or(eq(parameters.VSCODE_RUN_UNIT_TESTS, true), eq(parameters.VSCODE_RUN_INTEGRATION_TESTS, true), eq(parameters.VSCODE_RUN_SMOKE_TESTS, true)) }}:
|
||||||
- template: product-build-win32-test.yml
|
- template: product-build-win32-test.yml
|
||||||
parameters:
|
parameters:
|
||||||
|
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||||
VSCODE_RUN_UNIT_TESTS: ${{ parameters.VSCODE_RUN_UNIT_TESTS }}
|
VSCODE_RUN_UNIT_TESTS: ${{ parameters.VSCODE_RUN_UNIT_TESTS }}
|
||||||
VSCODE_RUN_INTEGRATION_TESTS: ${{ parameters.VSCODE_RUN_INTEGRATION_TESTS }}
|
VSCODE_RUN_INTEGRATION_TESTS: ${{ parameters.VSCODE_RUN_INTEGRATION_TESTS }}
|
||||||
VSCODE_RUN_SMOKE_TESTS: ${{ parameters.VSCODE_RUN_SMOKE_TESTS }}
|
VSCODE_RUN_SMOKE_TESTS: ${{ parameters.VSCODE_RUN_SMOKE_TESTS }}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const vscode_universal_bundler_1 = require("vscode-universal-bundler");
|
const vscode_universal_bundler_1 = require("vscode-universal-bundler");
|
||||||
const cross_spawn_promise_1 = require("@malept/cross-spawn-promise");
|
const cross_spawn_promise_1 = require("@malept/cross-spawn-promise");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import { makeUniversalApp } from 'vscode-universal-bundler';
|
import { makeUniversalApp } from 'vscode-universal-bundler';
|
||||||
import { spawn } from '@malept/cross-spawn-promise';
|
import { spawn } from '@malept/cross-spawn-promise';
|
||||||
import * as fs from 'fs-extra';
|
import * as fs from 'fs-extra';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const codesign = require("electron-osx-sign");
|
const codesign = require("electron-osx-sign");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as codesign from 'electron-osx-sign';
|
import * as codesign from 'electron-osx-sign';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as util from '../lib/util';
|
import * as util from '../lib/util';
|
||||||
|
|
|
@ -48,7 +48,6 @@ module.exports.unicodeFilter = [
|
||||||
'!extensions/typescript-language-features/test-workspace/**',
|
'!extensions/typescript-language-features/test-workspace/**',
|
||||||
'!extensions/vscode-api-tests/testWorkspace/**',
|
'!extensions/vscode-api-tests/testWorkspace/**',
|
||||||
'!extensions/vscode-api-tests/testWorkspace2/**',
|
'!extensions/vscode-api-tests/testWorkspace2/**',
|
||||||
'!extensions/vscode-custom-editor-tests/test-workspace/**',
|
|
||||||
'!extensions/**/dist/**',
|
'!extensions/**/dist/**',
|
||||||
'!extensions/**/out/**',
|
'!extensions/**/out/**',
|
||||||
'!extensions/**/snippets/**',
|
'!extensions/**/snippets/**',
|
||||||
|
@ -66,10 +65,6 @@ module.exports.indentationFilter = [
|
||||||
'!**/LICENSE.{txt,rtf}',
|
'!**/LICENSE.{txt,rtf}',
|
||||||
'!LICENSES.chromium.html',
|
'!LICENSES.chromium.html',
|
||||||
'!**/LICENSE',
|
'!**/LICENSE',
|
||||||
'!src/vs/nls.js',
|
|
||||||
'!src/vs/nls.build.js',
|
|
||||||
'!src/vs/css.js',
|
|
||||||
'!src/vs/css.build.js',
|
|
||||||
'!src/vs/loader.js',
|
'!src/vs/loader.js',
|
||||||
'!src/vs/base/browser/dompurify/*',
|
'!src/vs/base/browser/dompurify/*',
|
||||||
'!src/vs/base/common/marked/marked.js',
|
'!src/vs/base/common/marked/marked.js',
|
||||||
|
@ -88,7 +83,6 @@ module.exports.indentationFilter = [
|
||||||
'!extensions/markdown-math/notebook-out/**',
|
'!extensions/markdown-math/notebook-out/**',
|
||||||
'!extensions/vscode-api-tests/testWorkspace/**',
|
'!extensions/vscode-api-tests/testWorkspace/**',
|
||||||
'!extensions/vscode-api-tests/testWorkspace2/**',
|
'!extensions/vscode-api-tests/testWorkspace2/**',
|
||||||
'!extensions/vscode-custom-editor-tests/test-workspace/**',
|
|
||||||
'!build/monaco/**',
|
'!build/monaco/**',
|
||||||
'!build/win32/**',
|
'!build/win32/**',
|
||||||
|
|
||||||
|
@ -145,6 +139,7 @@ module.exports.copyrightFilter = [
|
||||||
'!**/*.xml',
|
'!**/*.xml',
|
||||||
'!**/*.sh',
|
'!**/*.sh',
|
||||||
'!**/*.zsh',
|
'!**/*.zsh',
|
||||||
|
'!**/*.fish',
|
||||||
'!**/*.txt',
|
'!**/*.txt',
|
||||||
'!**/*.xpm',
|
'!**/*.xpm',
|
||||||
'!**/*.opts',
|
'!**/*.opts',
|
||||||
|
|
|
@ -29,13 +29,20 @@ const editorEntryPoints = [
|
||||||
name: 'vs/editor/editor.main',
|
name: 'vs/editor/editor.main',
|
||||||
include: [],
|
include: [],
|
||||||
exclude: ['vs/css', 'vs/nls'],
|
exclude: ['vs/css', 'vs/nls'],
|
||||||
prepend: ['out-editor-build/vs/css.js', 'out-editor-build/vs/nls.js'],
|
prepend: [
|
||||||
|
{ path: 'out-editor-build/vs/css.js', amdModuleId: 'vs/css' },
|
||||||
|
{ path: 'out-editor-build/vs/nls.js', amdModuleId: 'vs/nls' }
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'vs/base/common/worker/simpleWorker',
|
name: 'vs/base/common/worker/simpleWorker',
|
||||||
include: ['vs/editor/common/services/editorSimpleWorker'],
|
include: ['vs/editor/common/services/editorSimpleWorker'],
|
||||||
prepend: ['vs/loader.js'],
|
exclude: ['vs/nls'],
|
||||||
append: ['vs/base/worker/workerMain'],
|
prepend: [
|
||||||
|
{ path: 'vs/loader.js' },
|
||||||
|
{ path: 'vs/nls.js', amdModuleId: 'vs/nls' },
|
||||||
|
{ path: 'vs/base/worker/workerMain.js' }
|
||||||
|
],
|
||||||
dest: 'vs/base/worker/workerMain.js'
|
dest: 'vs/base/worker/workerMain.js'
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -109,12 +116,6 @@ const createESMSourcesAndResourcesTask = task.define('extract-editor-esm', () =>
|
||||||
'inlineEntryPoint:0.ts',
|
'inlineEntryPoint:0.ts',
|
||||||
'inlineEntryPoint:1.ts',
|
'inlineEntryPoint:1.ts',
|
||||||
'vs/loader.js',
|
'vs/loader.js',
|
||||||
'vs/nls.ts',
|
|
||||||
'vs/nls.build.js',
|
|
||||||
'vs/nls.d.ts',
|
|
||||||
'vs/css.js',
|
|
||||||
'vs/css.build.js',
|
|
||||||
'vs/css.d.ts',
|
|
||||||
'vs/base/worker/workerMain.ts',
|
'vs/base/worker/workerMain.ts',
|
||||||
],
|
],
|
||||||
renames: {
|
renames: {
|
||||||
|
|
|
@ -53,6 +53,7 @@ const compilations = [
|
||||||
'json-language-features/client/tsconfig.json',
|
'json-language-features/client/tsconfig.json',
|
||||||
'json-language-features/server/tsconfig.json',
|
'json-language-features/server/tsconfig.json',
|
||||||
'markdown-language-features/preview-src/tsconfig.json',
|
'markdown-language-features/preview-src/tsconfig.json',
|
||||||
|
'markdown-language-features/server/tsconfig.json',
|
||||||
'markdown-language-features/tsconfig.json',
|
'markdown-language-features/tsconfig.json',
|
||||||
'markdown-math/tsconfig.json',
|
'markdown-math/tsconfig.json',
|
||||||
'merge-conflict/tsconfig.json',
|
'merge-conflict/tsconfig.json',
|
||||||
|
@ -66,7 +67,6 @@ const compilations = [
|
||||||
'typescript-language-features/tsconfig.json',
|
'typescript-language-features/tsconfig.json',
|
||||||
'vscode-api-tests/tsconfig.json',
|
'vscode-api-tests/tsconfig.json',
|
||||||
'vscode-colorize-tests/tsconfig.json',
|
'vscode-colorize-tests/tsconfig.json',
|
||||||
'vscode-custom-editor-tests/tsconfig.json',
|
|
||||||
'vscode-notebook-tests/tsconfig.json',
|
'vscode-notebook-tests/tsconfig.json',
|
||||||
'vscode-test-resolver/tsconfig.json'
|
'vscode-test-resolver/tsconfig.json'
|
||||||
];
|
];
|
||||||
|
@ -100,7 +100,7 @@ const tasks = compilations.map(function (tsconfigFile) {
|
||||||
headerOut = relativeDirname.substr(index + 1) + '/out';
|
headerOut = relativeDirname.substr(index + 1) + '/out';
|
||||||
}
|
}
|
||||||
|
|
||||||
function createPipeline(build, emitError) {
|
function createPipeline(build, emitError, transpileOnly) {
|
||||||
const nlsDev = require('vscode-nls-dev');
|
const nlsDev = require('vscode-nls-dev');
|
||||||
const tsb = require('./lib/tsb');
|
const tsb = require('./lib/tsb');
|
||||||
const sourcemaps = require('gulp-sourcemaps');
|
const sourcemaps = require('gulp-sourcemaps');
|
||||||
|
@ -110,7 +110,7 @@ const tasks = compilations.map(function (tsconfigFile) {
|
||||||
overrideOptions.inlineSources = Boolean(build);
|
overrideOptions.inlineSources = Boolean(build);
|
||||||
overrideOptions.base = path.dirname(absolutePath);
|
overrideOptions.base = path.dirname(absolutePath);
|
||||||
|
|
||||||
const compilation = tsb.create(absolutePath, overrideOptions, { verbose: false }, err => reporter(err.toString()));
|
const compilation = tsb.create(absolutePath, overrideOptions, { verbose: false, transpileOnly, transpileOnlyIncludesDts: transpileOnly }, err => reporter(err.toString()));
|
||||||
|
|
||||||
const pipeline = function () {
|
const pipeline = function () {
|
||||||
const input = es.through();
|
const input = es.through();
|
||||||
|
@ -152,6 +152,16 @@ const tasks = compilations.map(function (tsconfigFile) {
|
||||||
|
|
||||||
const cleanTask = task.define(`clean-extension-${name}`, util.rimraf(out));
|
const cleanTask = task.define(`clean-extension-${name}`, util.rimraf(out));
|
||||||
|
|
||||||
|
const transpileTask = task.define(`transpile-extension:${name}`, task.series(cleanTask, () => {
|
||||||
|
const pipeline = createPipeline(false, true, true);
|
||||||
|
const nonts = gulp.src(src, srcOpts).pipe(filter(['**', '!**/*.ts']));
|
||||||
|
const input = es.merge(nonts, pipeline.tsProjectSrc());
|
||||||
|
|
||||||
|
return input
|
||||||
|
.pipe(pipeline())
|
||||||
|
.pipe(gulp.dest(out));
|
||||||
|
}));
|
||||||
|
|
||||||
const compileTask = task.define(`compile-extension:${name}`, task.series(cleanTask, () => {
|
const compileTask = task.define(`compile-extension:${name}`, task.series(cleanTask, () => {
|
||||||
const pipeline = createPipeline(false, true);
|
const pipeline = createPipeline(false, true);
|
||||||
const nonts = gulp.src(src, srcOpts).pipe(filter(['**', '!**/*.ts']));
|
const nonts = gulp.src(src, srcOpts).pipe(filter(['**', '!**/*.ts']));
|
||||||
|
@ -184,12 +194,16 @@ const tasks = compilations.map(function (tsconfigFile) {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Tasks
|
// Tasks
|
||||||
|
gulp.task(transpileTask);
|
||||||
gulp.task(compileTask);
|
gulp.task(compileTask);
|
||||||
gulp.task(watchTask);
|
gulp.task(watchTask);
|
||||||
|
|
||||||
return { compileTask, watchTask, compileBuildTask };
|
return { transpileTask, compileTask, watchTask, compileBuildTask };
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const transpileExtensionsTask = task.define('transpile-extensions', task.parallel(...tasks.map(t => t.transpileTask)));
|
||||||
|
gulp.task(transpileExtensionsTask);
|
||||||
|
|
||||||
const compileExtensionsTask = task.define('compile-extensions', task.parallel(...tasks.map(t => t.compileTask)));
|
const compileExtensionsTask = task.define('compile-extensions', task.parallel(...tasks.map(t => t.compileTask)));
|
||||||
gulp.task(compileExtensionsTask);
|
gulp.task(compileExtensionsTask);
|
||||||
exports.compileExtensionsTask = compileExtensionsTask;
|
exports.compileExtensionsTask = compileExtensionsTask;
|
||||||
|
@ -222,8 +236,8 @@ exports.compileExtensionMediaBuildTask = compileExtensionMediaBuildTask;
|
||||||
const cleanExtensionsBuildTask = task.define('clean-extensions-build', util.rimraf('.build/extensions'));
|
const cleanExtensionsBuildTask = task.define('clean-extensions-build', util.rimraf('.build/extensions'));
|
||||||
const compileExtensionsBuildTask = task.define('compile-extensions-build', task.series(
|
const compileExtensionsBuildTask = task.define('compile-extensions-build', task.series(
|
||||||
cleanExtensionsBuildTask,
|
cleanExtensionsBuildTask,
|
||||||
|
task.define('bundle-marketplace-extensions-build', () => ext.packageMarketplaceExtensionsStream(false).pipe(gulp.dest('.build'))),
|
||||||
task.define('bundle-extensions-build', () => ext.packageLocalExtensionsStream(false).pipe(gulp.dest('.build'))),
|
task.define('bundle-extensions-build', () => ext.packageLocalExtensionsStream(false).pipe(gulp.dest('.build'))),
|
||||||
task.define('bundle-marketplace-extensions-build', () => ext.packageMarketplaceExtensionsStream(false, product.extensionsGallery?.serviceUrl).pipe(gulp.dest('.build'))),
|
|
||||||
));
|
));
|
||||||
|
|
||||||
gulp.task(compileExtensionsBuildTask);
|
gulp.task(compileExtensionsBuildTask);
|
||||||
|
|
|
@ -11,7 +11,7 @@ require('events').EventEmitter.defaultMaxListeners = 100;
|
||||||
const gulp = require('gulp');
|
const gulp = require('gulp');
|
||||||
const util = require('./lib/util');
|
const util = require('./lib/util');
|
||||||
const task = require('./lib/task');
|
const task = require('./lib/task');
|
||||||
const { compileTask, watchTask, compileApiProposalNamesTask, watchApiProposalNamesTask } = require('./lib/compilation');
|
const { transpileTask, compileTask, watchTask, compileApiProposalNamesTask, watchApiProposalNamesTask } = require('./lib/compilation');
|
||||||
const { monacoTypecheckTask/* , monacoTypecheckWatchTask */ } = require('./gulpfile.editor');
|
const { monacoTypecheckTask/* , monacoTypecheckWatchTask */ } = require('./gulpfile.editor');
|
||||||
const { compileExtensionsTask, watchExtensionsTask, compileExtensionMediaTask } = require('./gulpfile.extensions');
|
const { compileExtensionsTask, watchExtensionsTask, compileExtensionMediaTask } = require('./gulpfile.extensions');
|
||||||
|
|
||||||
|
@ -19,6 +19,10 @@ const { compileExtensionsTask, watchExtensionsTask, compileExtensionMediaTask }
|
||||||
gulp.task(compileApiProposalNamesTask);
|
gulp.task(compileApiProposalNamesTask);
|
||||||
gulp.task(watchApiProposalNamesTask);
|
gulp.task(watchApiProposalNamesTask);
|
||||||
|
|
||||||
|
// Transpile only
|
||||||
|
const transpileClientTask = task.define('transpile-client', task.series(util.rimraf('out'), util.buildWebNodePaths('out'), transpileTask('src', 'out')));
|
||||||
|
gulp.task(transpileClientTask);
|
||||||
|
|
||||||
// Fast compile for development time
|
// Fast compile for development time
|
||||||
const compileClientTask = task.define('compile-client', task.series(util.rimraf('out'), util.buildWebNodePaths('out'), compileApiProposalNamesTask, compileTask('src', 'out', false)));
|
const compileClientTask = task.define('compile-client', task.series(util.rimraf('out'), util.buildWebNodePaths('out'), compileApiProposalNamesTask, compileTask('src', 'out', false)));
|
||||||
gulp.task(compileClientTask);
|
gulp.task(compileClientTask);
|
||||||
|
|
|
@ -76,12 +76,14 @@ const serverResources = [
|
||||||
'out-build/vs/base/node/ps.sh',
|
'out-build/vs/base/node/ps.sh',
|
||||||
|
|
||||||
// Terminal shell integration
|
// Terminal shell integration
|
||||||
|
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration.fish',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration.ps1',
|
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration.ps1',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh',
|
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-env.zsh',
|
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-env.zsh',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-profile.zsh',
|
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-profile.zsh',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-rc.zsh',
|
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-rc.zsh',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-login.zsh',
|
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration-login.zsh',
|
||||||
|
'out-build/vs/workbench/contrib/terminal/browser/media/shellIntegration.fish',
|
||||||
|
|
||||||
'!**/test/**'
|
'!**/test/**'
|
||||||
];
|
];
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const gulp = require('gulp');
|
const gulp = require('gulp');
|
||||||
|
const merge = require('gulp-merge-json');
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const os = require('os');
|
const os = require('os');
|
||||||
const cp = require('child_process');
|
const cp = require('child_process');
|
||||||
|
@ -68,6 +69,7 @@ const vscodeResources = [
|
||||||
'out-build/vs/workbench/browser/media/*-theme.css',
|
'out-build/vs/workbench/browser/media/*-theme.css',
|
||||||
'out-build/vs/workbench/contrib/debug/**/*.json',
|
'out-build/vs/workbench/contrib/debug/**/*.json',
|
||||||
'out-build/vs/workbench/contrib/externalTerminal/**/*.scpt',
|
'out-build/vs/workbench/contrib/externalTerminal/**/*.scpt',
|
||||||
|
'out-build/vs/workbench/contrib/terminal/browser/media/*.fish',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/*.ps1',
|
'out-build/vs/workbench/contrib/terminal/browser/media/*.ps1',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/*.sh',
|
'out-build/vs/workbench/contrib/terminal/browser/media/*.sh',
|
||||||
'out-build/vs/workbench/contrib/terminal/browser/media/*.zsh',
|
'out-build/vs/workbench/contrib/terminal/browser/media/*.zsh',
|
||||||
|
@ -76,7 +78,7 @@ const vscodeResources = [
|
||||||
'out-build/vs/workbench/contrib/tasks/**/*.json',
|
'out-build/vs/workbench/contrib/tasks/**/*.json',
|
||||||
'out-build/vs/platform/files/**/*.exe',
|
'out-build/vs/platform/files/**/*.exe',
|
||||||
'out-build/vs/platform/files/**/*.md',
|
'out-build/vs/platform/files/**/*.md',
|
||||||
'out-build/vs/code/electron-browser/workbench/**',
|
'out-build/vs/code/electron-sandbox/workbench/**',
|
||||||
'out-build/vs/code/electron-browser/sharedProcess/sharedProcess.js',
|
'out-build/vs/code/electron-browser/sharedProcess/sharedProcess.js',
|
||||||
'out-build/vs/code/electron-sandbox/issue/issueReporter.js',
|
'out-build/vs/code/electron-sandbox/issue/issueReporter.js',
|
||||||
'out-build/vs/code/electron-sandbox/processExplorer/processExplorer.js',
|
'out-build/vs/code/electron-sandbox/processExplorer/processExplorer.js',
|
||||||
|
@ -165,8 +167,8 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||||
'vs/workbench/workbench.desktop.main.js',
|
'vs/workbench/workbench.desktop.main.js',
|
||||||
'vs/workbench/workbench.desktop.main.css',
|
'vs/workbench/workbench.desktop.main.css',
|
||||||
'vs/workbench/api/node/extensionHostProcess.js',
|
'vs/workbench/api/node/extensionHostProcess.js',
|
||||||
'vs/code/electron-browser/workbench/workbench.html',
|
'vs/code/electron-sandbox/workbench/workbench.html',
|
||||||
'vs/code/electron-browser/workbench/workbench.js'
|
'vs/code/electron-sandbox/workbench/workbench.js'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const src = gulp.src(out + '/**', { base: '.' })
|
const src = gulp.src(out + '/**', { base: '.' })
|
||||||
|
@ -331,6 +333,9 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||||
result = es.merge(result, gulp.src('resources/win32/VisualElementsManifest.xml', { base: 'resources/win32' })
|
result = es.merge(result, gulp.src('resources/win32/VisualElementsManifest.xml', { base: 'resources/win32' })
|
||||||
.pipe(rename(product.nameShort + '.VisualElementsManifest.xml')));
|
.pipe(rename(product.nameShort + '.VisualElementsManifest.xml')));
|
||||||
|
|
||||||
|
result = es.merge(result, gulp.src('.build/policies/win32/**', { base: '.build/policies/win32' })
|
||||||
|
.pipe(rename(f => f.dirname = `policies/${f.dirname}`)));
|
||||||
|
|
||||||
} else if (platform === 'linux') {
|
} else if (platform === 'linux') {
|
||||||
result = es.merge(result, gulp.src('resources/linux/bin/code.sh', { base: '.' })
|
result = es.merge(result, gulp.src('resources/linux/bin/code.sh', { base: '.' })
|
||||||
.pipe(replace('@@PRODNAME@@', product.nameLong))
|
.pipe(replace('@@PRODNAME@@', product.nameLong))
|
||||||
|
@ -389,6 +394,8 @@ BUILD_TARGETS.forEach(buildTarget => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// #region nls
|
||||||
|
|
||||||
const innoSetupConfig = {
|
const innoSetupConfig = {
|
||||||
'zh-cn': { codePage: 'CP936', defaultInfo: { name: 'Simplified Chinese', id: '$0804', } },
|
'zh-cn': { codePage: 'CP936', defaultInfo: { name: 'Simplified Chinese', id: '$0804', } },
|
||||||
'zh-tw': { codePage: 'CP950', defaultInfo: { name: 'Traditional Chinese', id: '$0404' } },
|
'zh-tw': { codePage: 'CP950', defaultInfo: { name: 'Traditional Chinese', id: '$0404' } },
|
||||||
|
@ -404,46 +411,23 @@ const innoSetupConfig = {
|
||||||
'tr': { codePage: 'CP1254' }
|
'tr': { codePage: 'CP1254' }
|
||||||
};
|
};
|
||||||
|
|
||||||
// Transifex Localizations
|
|
||||||
|
|
||||||
const apiHostname = process.env.TRANSIFEX_API_URL;
|
|
||||||
const apiName = process.env.TRANSIFEX_API_NAME;
|
|
||||||
const apiToken = process.env.TRANSIFEX_API_TOKEN;
|
|
||||||
|
|
||||||
gulp.task(task.define(
|
|
||||||
'vscode-translations-push',
|
|
||||||
task.series(
|
|
||||||
compileBuildTask,
|
|
||||||
compileExtensionsBuildTask,
|
|
||||||
optimizeVSCodeTask,
|
|
||||||
function () {
|
|
||||||
const pathToMetadata = './out-vscode/nls.metadata.json';
|
|
||||||
const pathToExtensions = '.build/extensions/*';
|
|
||||||
const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}';
|
|
||||||
|
|
||||||
return es.merge(
|
|
||||||
gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()),
|
|
||||||
gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()),
|
|
||||||
gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions())
|
|
||||||
).pipe(i18n.findObsoleteResources(apiHostname, apiName, apiToken)
|
|
||||||
).pipe(i18n.pushXlfFiles(apiHostname, apiName, apiToken));
|
|
||||||
}
|
|
||||||
)
|
|
||||||
));
|
|
||||||
|
|
||||||
gulp.task(task.define(
|
gulp.task(task.define(
|
||||||
'vscode-translations-export',
|
'vscode-translations-export',
|
||||||
task.series(
|
task.series(
|
||||||
compileBuildTask,
|
core,
|
||||||
compileExtensionsBuildTask,
|
compileExtensionsBuildTask,
|
||||||
optimizeVSCodeTask,
|
|
||||||
function () {
|
function () {
|
||||||
const pathToMetadata = './out-vscode/nls.metadata.json';
|
const pathToMetadata = './out-vscode/nls.metadata.json';
|
||||||
|
const pathToRehWebMetadata = './out-vscode-reh-web/nls.metadata.json';
|
||||||
const pathToExtensions = '.build/extensions/*';
|
const pathToExtensions = '.build/extensions/*';
|
||||||
const pathToSetup = 'build/win32/i18n/messages.en.isl';
|
const pathToSetup = 'build/win32/i18n/messages.en.isl';
|
||||||
|
|
||||||
return es.merge(
|
return es.merge(
|
||||||
gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()),
|
gulp.src([pathToMetadata, pathToRehWebMetadata]).pipe(merge({
|
||||||
|
fileName: 'nls.metadata.json',
|
||||||
|
jsonSpace: '',
|
||||||
|
concatArrays: true
|
||||||
|
})).pipe(i18n.createXlfFilesForCoreBundle()),
|
||||||
gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()),
|
gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()),
|
||||||
gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions())
|
gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions())
|
||||||
).pipe(vfs.dest('../vscode-translations-export'));
|
).pipe(vfs.dest('../vscode-translations-export'));
|
||||||
|
@ -451,13 +435,6 @@ gulp.task(task.define(
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
gulp.task('vscode-translations-pull', function () {
|
|
||||||
return es.merge([...i18n.defaultLanguages, ...i18n.extraLanguages].map(language => {
|
|
||||||
const includeDefault = !!innoSetupConfig[language.id].defaultInfo;
|
|
||||||
return i18n.pullSetupXlfFiles(apiHostname, apiName, apiToken, language, includeDefault).pipe(vfs.dest(`../vscode-translations-import/${language.id}/setup`));
|
|
||||||
}));
|
|
||||||
});
|
|
||||||
|
|
||||||
gulp.task('vscode-translations-import', function () {
|
gulp.task('vscode-translations-import', function () {
|
||||||
const options = minimist(process.argv.slice(2), {
|
const options = minimist(process.argv.slice(2), {
|
||||||
string: 'location',
|
string: 'location',
|
||||||
|
@ -472,3 +449,5 @@ gulp.task('vscode-translations-import', function () {
|
||||||
.pipe(vfs.dest(`./build/win32/i18n`));
|
.pipe(vfs.dest(`./build/win32/i18n`));
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// #endregion
|
||||||
|
|
|
@ -15,13 +15,18 @@ const util = require('./lib/util');
|
||||||
const task = require('./lib/task');
|
const task = require('./lib/task');
|
||||||
const packageJson = require('../package.json');
|
const packageJson = require('../package.json');
|
||||||
const product = require('../product.json');
|
const product = require('../product.json');
|
||||||
const rpmDependenciesGenerator = require('./linux/rpm/dependencies-generator');
|
const dependenciesGenerator = require('./linux/dependencies-generator');
|
||||||
|
const sysrootInstaller = require('./linux/debian/install-sysroot');
|
||||||
|
const debianRecommendedDependencies = require('./linux/debian/dep-lists').recommendedDeps;
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const root = path.dirname(__dirname);
|
const root = path.dirname(__dirname);
|
||||||
const commit = util.getVersion(root);
|
const commit = util.getVersion(root);
|
||||||
|
|
||||||
const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
|
const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} arch
|
||||||
|
*/
|
||||||
function getDebPackageArch(arch) {
|
function getDebPackageArch(arch) {
|
||||||
return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64' }[arch];
|
return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64' }[arch];
|
||||||
}
|
}
|
||||||
|
@ -74,12 +79,16 @@ function prepareDebPackage(arch) {
|
||||||
let size = 0;
|
let size = 0;
|
||||||
const control = code.pipe(es.through(
|
const control = code.pipe(es.through(
|
||||||
function (f) { size += f.isDirectory() ? 4096 : f.contents.length; },
|
function (f) { size += f.isDirectory() ? 4096 : f.contents.length; },
|
||||||
function () {
|
async function () {
|
||||||
const that = this;
|
const that = this;
|
||||||
|
const sysroot = await sysrootInstaller.getSysroot(debArch);
|
||||||
|
const dependencies = dependenciesGenerator.getDependencies('deb', binaryDir, product.applicationName, debArch, sysroot);
|
||||||
gulp.src('resources/linux/debian/control.template', { base: '.' })
|
gulp.src('resources/linux/debian/control.template', { base: '.' })
|
||||||
.pipe(replace('@@NAME@@', product.applicationName))
|
.pipe(replace('@@NAME@@', product.applicationName))
|
||||||
.pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision))
|
.pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision))
|
||||||
.pipe(replace('@@ARCHITECTURE@@', debArch))
|
.pipe(replace('@@ARCHITECTURE@@', debArch))
|
||||||
|
.pipe(replace('@@DEPENDS@@', dependencies.join(', ')))
|
||||||
|
.pipe(replace('@@RECOMMENDS@@', debianRecommendedDependencies.join(', ')))
|
||||||
.pipe(replace('@@INSTALLEDSIZE@@', Math.ceil(size / 1024)))
|
.pipe(replace('@@INSTALLEDSIZE@@', Math.ceil(size / 1024)))
|
||||||
.pipe(rename('DEBIAN/control'))
|
.pipe(rename('DEBIAN/control'))
|
||||||
.pipe(es.through(function (f) { that.emit('data', f); }, function () { that.emit('end'); }));
|
.pipe(es.through(function (f) { that.emit('data', f); }, function () { that.emit('end'); }));
|
||||||
|
@ -176,7 +185,7 @@ function prepareRpmPackage(arch) {
|
||||||
const code = gulp.src(binaryDir + '/**/*', { base: binaryDir })
|
const code = gulp.src(binaryDir + '/**/*', { base: binaryDir })
|
||||||
.pipe(rename(function (p) { p.dirname = 'BUILD/usr/share/' + product.applicationName + '/' + p.dirname; }));
|
.pipe(rename(function (p) { p.dirname = 'BUILD/usr/share/' + product.applicationName + '/' + p.dirname; }));
|
||||||
|
|
||||||
const dependencies = rpmDependenciesGenerator.getDependencies(binaryDir, product.applicationName, rpmArch);
|
const dependencies = dependenciesGenerator.getDependencies('rpm', binaryDir, product.applicationName, rpmArch);
|
||||||
const spec = gulp.src('resources/linux/rpm/code.spec.template', { base: '.' })
|
const spec = gulp.src('resources/linux/rpm/code.spec.template', { base: '.' })
|
||||||
.pipe(replace('@@NAME@@', product.applicationName))
|
.pipe(replace('@@NAME@@', product.applicationName))
|
||||||
.pipe(replace('@@NAME_LONG@@', product.nameLong))
|
.pipe(replace('@@NAME_LONG@@', product.nameLong))
|
||||||
|
@ -210,7 +219,7 @@ function buildRpmPackage(arch) {
|
||||||
|
|
||||||
return shell.task([
|
return shell.task([
|
||||||
'mkdir -p ' + destination,
|
'mkdir -p ' + destination,
|
||||||
'HOME="$(pwd)/' + destination + '" fakeroot rpmbuild -bb ' + rpmBuildPath + '/SPECS/' + product.applicationName + '.spec --target=' + rpmArch,
|
'HOME="$(pwd)/' + destination + '" rpmbuild -bb ' + rpmBuildPath + '/SPECS/' + product.applicationName + '.spec --target=' + rpmArch,
|
||||||
'cp "' + rpmOut + '/$(ls ' + rpmOut + ')" ' + destination + '/'
|
'cp "' + rpmOut + '/$(ls ' + rpmOut + ')" ' + destination + '/'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -229,7 +229,7 @@ function packageTask(sourceFolderName, destinationFolderName) {
|
||||||
const compileWebExtensionsBuildTask = task.define('compile-web-extensions-build', task.series(
|
const compileWebExtensionsBuildTask = task.define('compile-web-extensions-build', task.series(
|
||||||
task.define('clean-web-extensions-build', util.rimraf('.build/web/extensions')),
|
task.define('clean-web-extensions-build', util.rimraf('.build/web/extensions')),
|
||||||
task.define('bundle-web-extensions-build', () => extensions.packageLocalExtensionsStream(true).pipe(gulp.dest('.build/web'))),
|
task.define('bundle-web-extensions-build', () => extensions.packageLocalExtensionsStream(true).pipe(gulp.dest('.build/web'))),
|
||||||
task.define('bundle-marketplace-web-extensions-build', () => extensions.packageMarketplaceExtensionsStream(true, product.extensionsGallery?.serviceUrl).pipe(gulp.dest('.build/web'))),
|
task.define('bundle-marketplace-web-extensions-build', () => extensions.packageMarketplaceExtensionsStream(true).pipe(gulp.dest('.build/web'))),
|
||||||
task.define('bundle-web-extension-media-build', () => extensions.buildExtensionMedia(false, '.build/web/extensions')),
|
task.define('bundle-web-extension-media-build', () => extensions.buildExtensionMedia(false, '.build/web/extensions')),
|
||||||
));
|
));
|
||||||
gulp.task(compileWebExtensionsBuildTask);
|
gulp.task(compileWebExtensionsBuildTask);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.createAsar = void 0;
|
exports.createAsar = void 0;
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as es from 'event-stream';
|
import * as es from 'event-stream';
|
||||||
const pickle = require('chromium-pickle-js');
|
const pickle = require('chromium-pickle-js');
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getBuiltInExtensions = void 0;
|
exports.getBuiltInExtensions = exports.getExtensionStream = void 0;
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
const os = require("os");
|
const os = require("os");
|
||||||
|
@ -44,6 +44,21 @@ function isUpToDate(extension) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function getExtensionDownloadStream(extension) {
|
||||||
|
const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
||||||
|
return (galleryServiceUrl ? ext.fromMarketplace(galleryServiceUrl, extension) : ext.fromGithub(extension))
|
||||||
|
.pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`));
|
||||||
|
}
|
||||||
|
function getExtensionStream(extension) {
|
||||||
|
// if the extension exists on disk, use those files instead of downloading anew
|
||||||
|
if (isUpToDate(extension)) {
|
||||||
|
log('[extensions]', `${extension.name}@${extension.version} up to date`, ansiColors.green('✔︎'));
|
||||||
|
return vfs.src(['**'], { cwd: getExtensionPath(extension), dot: true })
|
||||||
|
.pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`));
|
||||||
|
}
|
||||||
|
return getExtensionDownloadStream(extension);
|
||||||
|
}
|
||||||
|
exports.getExtensionStream = getExtensionStream;
|
||||||
function syncMarketplaceExtension(extension) {
|
function syncMarketplaceExtension(extension) {
|
||||||
const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
||||||
const source = ansiColors.blue(galleryServiceUrl ? '[marketplace]' : '[github]');
|
const source = ansiColors.blue(galleryServiceUrl ? '[marketplace]' : '[github]');
|
||||||
|
@ -52,8 +67,7 @@ function syncMarketplaceExtension(extension) {
|
||||||
return es.readArray([]);
|
return es.readArray([]);
|
||||||
}
|
}
|
||||||
rimraf.sync(getExtensionPath(extension));
|
rimraf.sync(getExtensionPath(extension));
|
||||||
return (galleryServiceUrl ? ext.fromMarketplace(galleryServiceUrl, extension) : ext.fromGithub(extension))
|
return getExtensionDownloadStream(extension)
|
||||||
.pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`))
|
|
||||||
.pipe(vfs.dest('.build/builtInExtensions'))
|
.pipe(vfs.dest('.build/builtInExtensions'))
|
||||||
.on('end', () => log(source, extension.name, ansiColors.green('✔︎')));
|
.on('end', () => log(source, extension.name, ansiColors.green('✔︎')));
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,10 +68,26 @@ function isUpToDate(extension: IExtensionDefinition): boolean {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getExtensionDownloadStream(extension: IExtensionDefinition) {
|
||||||
|
const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
||||||
|
return (galleryServiceUrl ? ext.fromMarketplace(galleryServiceUrl, extension) : ext.fromGithub(extension))
|
||||||
|
.pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`));
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getExtensionStream(extension: IExtensionDefinition) {
|
||||||
|
// if the extension exists on disk, use those files instead of downloading anew
|
||||||
|
if (isUpToDate(extension)) {
|
||||||
|
log('[extensions]', `${extension.name}@${extension.version} up to date`, ansiColors.green('✔︎'));
|
||||||
|
return vfs.src(['**'], { cwd: getExtensionPath(extension), dot: true })
|
||||||
|
.pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`));
|
||||||
|
}
|
||||||
|
|
||||||
|
return getExtensionDownloadStream(extension);
|
||||||
|
}
|
||||||
|
|
||||||
function syncMarketplaceExtension(extension: IExtensionDefinition): Stream {
|
function syncMarketplaceExtension(extension: IExtensionDefinition): Stream {
|
||||||
const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
||||||
const source = ansiColors.blue(galleryServiceUrl ? '[marketplace]' : '[github]');
|
const source = ansiColors.blue(galleryServiceUrl ? '[marketplace]' : '[github]');
|
||||||
|
|
||||||
if (isUpToDate(extension)) {
|
if (isUpToDate(extension)) {
|
||||||
log(source, `${extension.name}@${extension.version}`, ansiColors.green('✔︎'));
|
log(source, `${extension.name}@${extension.version}`, ansiColors.green('✔︎'));
|
||||||
return es.readArray([]);
|
return es.readArray([]);
|
||||||
|
@ -79,8 +95,7 @@ function syncMarketplaceExtension(extension: IExtensionDefinition): Stream {
|
||||||
|
|
||||||
rimraf.sync(getExtensionPath(extension));
|
rimraf.sync(getExtensionPath(extension));
|
||||||
|
|
||||||
return (galleryServiceUrl ? ext.fromMarketplace(galleryServiceUrl, extension) : ext.fromGithub(extension))
|
return getExtensionDownloadStream(extension)
|
||||||
.pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`))
|
|
||||||
.pipe(vfs.dest('.build/builtInExtensions'))
|
.pipe(vfs.dest('.build/builtInExtensions'))
|
||||||
.on('end', () => log(source, extension.name, ansiColors.green('✔︎')));
|
.on('end', () => log(source, extension.name, ansiColors.green('✔︎')));
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,14 +42,20 @@ function bundle(entryPoints, config, callback) {
|
||||||
if (!config.paths['vs/css']) {
|
if (!config.paths['vs/css']) {
|
||||||
config.paths['vs/css'] = 'out-build/vs/css.build';
|
config.paths['vs/css'] = 'out-build/vs/css.build';
|
||||||
}
|
}
|
||||||
|
config.buildForceInvokeFactory = config.buildForceInvokeFactory || {};
|
||||||
|
config.buildForceInvokeFactory['vs/nls'] = true;
|
||||||
|
config.buildForceInvokeFactory['vs/css'] = true;
|
||||||
loader.config(config);
|
loader.config(config);
|
||||||
loader(['require'], (localRequire) => {
|
loader(['require'], (localRequire) => {
|
||||||
const resolvePath = (path) => {
|
const resolvePath = (entry) => {
|
||||||
const r = localRequire.toUrl(path);
|
let r = localRequire.toUrl(entry.path);
|
||||||
if (!/\.js/.test(r)) {
|
if (!r.endsWith('.js')) {
|
||||||
return r + '.js';
|
r += '.js';
|
||||||
}
|
}
|
||||||
return r;
|
// avoid packaging the build version of plugins:
|
||||||
|
r = r.replace('vs/nls.build.js', 'vs/nls.js');
|
||||||
|
r = r.replace('vs/css.build.js', 'vs/css.js');
|
||||||
|
return { path: r, amdModuleId: entry.amdModuleId };
|
||||||
};
|
};
|
||||||
for (const moduleId in entryPointsMap) {
|
for (const moduleId in entryPointsMap) {
|
||||||
const entryPoint = entryPointsMap[moduleId];
|
const entryPoint = entryPointsMap[moduleId];
|
||||||
|
@ -298,9 +304,18 @@ function emitEntryPoint(modulesMap, deps, entryPoint, includedModules, prepend,
|
||||||
if (module.shim) {
|
if (module.shim) {
|
||||||
mainResult.sources.push(emitShimmedModule(c, deps[c], module.shim, module.path, contents));
|
mainResult.sources.push(emitShimmedModule(c, deps[c], module.shim, module.path, contents));
|
||||||
}
|
}
|
||||||
else {
|
else if (module.defineLocation) {
|
||||||
mainResult.sources.push(emitNamedModule(c, module.defineLocation, module.path, contents));
|
mainResult.sources.push(emitNamedModule(c, module.defineLocation, module.path, contents));
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
const moduleCopy = {
|
||||||
|
id: module.id,
|
||||||
|
path: module.path,
|
||||||
|
defineLocation: module.defineLocation,
|
||||||
|
dependencies: module.dependencies
|
||||||
|
};
|
||||||
|
throw new Error(`Cannot bundle module '${module.id}' for entry point '${entryPoint}' because it has no shim and it lacks a defineLocation: ${JSON.stringify(moduleCopy)}`);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
Object.keys(usedPlugins).forEach((pluginName) => {
|
Object.keys(usedPlugins).forEach((pluginName) => {
|
||||||
const plugin = usedPlugins[pluginName];
|
const plugin = usedPlugins[pluginName];
|
||||||
|
@ -321,10 +336,13 @@ function emitEntryPoint(modulesMap, deps, entryPoint, includedModules, prepend,
|
||||||
plugin.writeFile(pluginName, entryPoint, req, write, {});
|
plugin.writeFile(pluginName, entryPoint, req, write, {});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const toIFile = (path) => {
|
const toIFile = (entry) => {
|
||||||
const contents = readFileAndRemoveBOM(path);
|
let contents = readFileAndRemoveBOM(entry.path);
|
||||||
|
if (entry.amdModuleId) {
|
||||||
|
contents = contents.replace(/^define\(/m, `define("${entry.amdModuleId}",`);
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
path: path,
|
path: entry.path,
|
||||||
contents: contents
|
contents: contents
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,7 +15,7 @@ interface IPosition {
|
||||||
interface IBuildModuleInfo {
|
interface IBuildModuleInfo {
|
||||||
id: string;
|
id: string;
|
||||||
path: string;
|
path: string;
|
||||||
defineLocation: IPosition;
|
defineLocation: IPosition | null;
|
||||||
dependencies: string[];
|
dependencies: string[];
|
||||||
shim: string;
|
shim: string;
|
||||||
exports: any;
|
exports: any;
|
||||||
|
@ -42,12 +42,17 @@ interface ILoaderPluginReqFunc {
|
||||||
toUrl(something: string): string;
|
toUrl(something: string): string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface IExtraFile {
|
||||||
|
path: string;
|
||||||
|
amdModuleId?: string;
|
||||||
|
}
|
||||||
|
|
||||||
export interface IEntryPoint {
|
export interface IEntryPoint {
|
||||||
name: string;
|
name: string;
|
||||||
include?: string[];
|
include?: string[];
|
||||||
exclude?: string[];
|
exclude?: string[];
|
||||||
prepend?: string[];
|
prepend?: IExtraFile[];
|
||||||
append?: string[];
|
append?: IExtraFile[];
|
||||||
dest?: string;
|
dest?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,6 +97,13 @@ interface IPartialBundleResult {
|
||||||
export interface ILoaderConfig {
|
export interface ILoaderConfig {
|
||||||
isBuild?: boolean;
|
isBuild?: boolean;
|
||||||
paths?: { [path: string]: any };
|
paths?: { [path: string]: any };
|
||||||
|
/*
|
||||||
|
* Normally, during a build, no module factories are invoked. This can be used
|
||||||
|
* to forcefully execute a module's factory.
|
||||||
|
*/
|
||||||
|
buildForceInvokeFactory: {
|
||||||
|
[moduleId: string]: boolean;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -132,15 +144,21 @@ export function bundle(entryPoints: IEntryPoint[], config: ILoaderConfig, callba
|
||||||
if (!config.paths['vs/css']) {
|
if (!config.paths['vs/css']) {
|
||||||
config.paths['vs/css'] = 'out-build/vs/css.build';
|
config.paths['vs/css'] = 'out-build/vs/css.build';
|
||||||
}
|
}
|
||||||
|
config.buildForceInvokeFactory = config.buildForceInvokeFactory || {};
|
||||||
|
config.buildForceInvokeFactory['vs/nls'] = true;
|
||||||
|
config.buildForceInvokeFactory['vs/css'] = true;
|
||||||
loader.config(config);
|
loader.config(config);
|
||||||
|
|
||||||
loader(['require'], (localRequire: any) => {
|
loader(['require'], (localRequire: any) => {
|
||||||
const resolvePath = (path: string) => {
|
const resolvePath = (entry: IExtraFile) => {
|
||||||
const r = localRequire.toUrl(path);
|
let r = localRequire.toUrl(entry.path);
|
||||||
if (!/\.js/.test(r)) {
|
if (!r.endsWith('.js')) {
|
||||||
return r + '.js';
|
r += '.js';
|
||||||
}
|
}
|
||||||
return r;
|
// avoid packaging the build version of plugins:
|
||||||
|
r = r.replace('vs/nls.build.js', 'vs/nls.js');
|
||||||
|
r = r.replace('vs/css.build.js', 'vs/css.js');
|
||||||
|
return { path: r, amdModuleId: entry.amdModuleId };
|
||||||
};
|
};
|
||||||
for (const moduleId in entryPointsMap) {
|
for (const moduleId in entryPointsMap) {
|
||||||
const entryPoint = entryPointsMap[moduleId];
|
const entryPoint = entryPointsMap[moduleId];
|
||||||
|
@ -403,8 +421,8 @@ function emitEntryPoint(
|
||||||
deps: IGraph,
|
deps: IGraph,
|
||||||
entryPoint: string,
|
entryPoint: string,
|
||||||
includedModules: string[],
|
includedModules: string[],
|
||||||
prepend: string[],
|
prepend: IExtraFile[],
|
||||||
append: string[],
|
append: IExtraFile[],
|
||||||
dest: string | undefined
|
dest: string | undefined
|
||||||
): IEmitEntryPointResult {
|
): IEmitEntryPointResult {
|
||||||
if (!dest) {
|
if (!dest) {
|
||||||
|
@ -444,8 +462,16 @@ function emitEntryPoint(
|
||||||
|
|
||||||
if (module.shim) {
|
if (module.shim) {
|
||||||
mainResult.sources.push(emitShimmedModule(c, deps[c], module.shim, module.path, contents));
|
mainResult.sources.push(emitShimmedModule(c, deps[c], module.shim, module.path, contents));
|
||||||
} else {
|
} else if (module.defineLocation) {
|
||||||
mainResult.sources.push(emitNamedModule(c, module.defineLocation, module.path, contents));
|
mainResult.sources.push(emitNamedModule(c, module.defineLocation, module.path, contents));
|
||||||
|
} else {
|
||||||
|
const moduleCopy = {
|
||||||
|
id: module.id,
|
||||||
|
path: module.path,
|
||||||
|
defineLocation: module.defineLocation,
|
||||||
|
dependencies: module.dependencies
|
||||||
|
};
|
||||||
|
throw new Error(`Cannot bundle module '${module.id}' for entry point '${entryPoint}' because it has no shim and it lacks a defineLocation: ${JSON.stringify(moduleCopy)}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -470,10 +496,13 @@ function emitEntryPoint(
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const toIFile = (path: string): IFile => {
|
const toIFile = (entry: IExtraFile): IFile => {
|
||||||
const contents = readFileAndRemoveBOM(path);
|
let contents = readFileAndRemoveBOM(entry.path);
|
||||||
|
if (entry.amdModuleId) {
|
||||||
|
contents = contents.replace(/^define\(/m, `define("${entry.amdModuleId}",`);
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
path: path,
|
path: entry.path,
|
||||||
contents: contents
|
contents: contents
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.watchApiProposalNamesTask = exports.compileApiProposalNamesTask = exports.watchTask = exports.compileTask = void 0;
|
exports.watchApiProposalNamesTask = exports.compileApiProposalNamesTask = exports.watchTask = exports.compileTask = exports.transpileTask = void 0;
|
||||||
const es = require("event-stream");
|
const es = require("event-stream");
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const gulp = require("gulp");
|
const gulp = require("gulp");
|
||||||
|
@ -34,7 +34,7 @@ function getTypeScriptCompilerOptions(src) {
|
||||||
options.newLine = /\r\n/.test(fs.readFileSync(__filename, 'utf8')) ? 0 : 1;
|
options.newLine = /\r\n/.test(fs.readFileSync(__filename, 'utf8')) ? 0 : 1;
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
function createCompile(src, build, emitError) {
|
function createCompile(src, build, emitError, transpileOnly) {
|
||||||
const tsb = require('./tsb');
|
const tsb = require('./tsb');
|
||||||
const sourcemaps = require('gulp-sourcemaps');
|
const sourcemaps = require('gulp-sourcemaps');
|
||||||
const projectPath = path.join(__dirname, '../../', src, 'tsconfig.json');
|
const projectPath = path.join(__dirname, '../../', src, 'tsconfig.json');
|
||||||
|
@ -42,7 +42,7 @@ function createCompile(src, build, emitError) {
|
||||||
if (!build) {
|
if (!build) {
|
||||||
overrideOptions.inlineSourceMap = true;
|
overrideOptions.inlineSourceMap = true;
|
||||||
}
|
}
|
||||||
const compilation = tsb.create(projectPath, overrideOptions, { verbose: false }, err => reporter(err));
|
const compilation = tsb.create(projectPath, overrideOptions, { verbose: false, transpileOnly }, err => reporter(err));
|
||||||
function pipeline(token) {
|
function pipeline(token) {
|
||||||
const bom = require('gulp-bom');
|
const bom = require('gulp-bom');
|
||||||
const utf8Filter = util.filter(data => /(\/|\\)test(\/|\\).*utf8/.test(data.path));
|
const utf8Filter = util.filter(data => /(\/|\\)test(\/|\\).*utf8/.test(data.path));
|
||||||
|
@ -59,7 +59,7 @@ function createCompile(src, build, emitError) {
|
||||||
.pipe(noDeclarationsFilter)
|
.pipe(noDeclarationsFilter)
|
||||||
.pipe(build ? nls.nls() : es.through())
|
.pipe(build ? nls.nls() : es.through())
|
||||||
.pipe(noDeclarationsFilter.restore)
|
.pipe(noDeclarationsFilter.restore)
|
||||||
.pipe(sourcemaps.write('.', {
|
.pipe(transpileOnly ? es.through() : sourcemaps.write('.', {
|
||||||
addComment: false,
|
addComment: false,
|
||||||
includeContent: !!build,
|
includeContent: !!build,
|
||||||
sourceRoot: overrideOptions.sourceRoot
|
sourceRoot: overrideOptions.sourceRoot
|
||||||
|
@ -73,12 +73,22 @@ function createCompile(src, build, emitError) {
|
||||||
};
|
};
|
||||||
return pipeline;
|
return pipeline;
|
||||||
}
|
}
|
||||||
|
function transpileTask(src, out) {
|
||||||
|
return function () {
|
||||||
|
const transpile = createCompile(src, false, true, true);
|
||||||
|
const srcPipe = gulp.src(`${src}/**`, { base: `${src}` });
|
||||||
|
return srcPipe
|
||||||
|
.pipe(transpile())
|
||||||
|
.pipe(gulp.dest(out));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
exports.transpileTask = transpileTask;
|
||||||
function compileTask(src, out, build) {
|
function compileTask(src, out, build) {
|
||||||
return function () {
|
return function () {
|
||||||
if (os.totalmem() < 4000000000) {
|
if (os.totalmem() < 4000000000) {
|
||||||
throw new Error('compilation requires 4GB of RAM');
|
throw new Error('compilation requires 4GB of RAM');
|
||||||
}
|
}
|
||||||
const compile = createCompile(src, build, true);
|
const compile = createCompile(src, build, true, false);
|
||||||
const srcPipe = gulp.src(`${src}/**`, { base: `${src}` });
|
const srcPipe = gulp.src(`${src}/**`, { base: `${src}` });
|
||||||
const generator = new MonacoGenerator(false);
|
const generator = new MonacoGenerator(false);
|
||||||
if (src === 'src') {
|
if (src === 'src') {
|
||||||
|
@ -93,7 +103,7 @@ function compileTask(src, out, build) {
|
||||||
exports.compileTask = compileTask;
|
exports.compileTask = compileTask;
|
||||||
function watchTask(out, build) {
|
function watchTask(out, build) {
|
||||||
return function () {
|
return function () {
|
||||||
const compile = createCompile('src', build);
|
const compile = createCompile('src', build, false, false);
|
||||||
const src = gulp.src('src/**', { base: 'src' });
|
const src = gulp.src('src/**', { base: 'src' });
|
||||||
const watchSrc = watch('src/**', { base: 'src', readDelay: 200 });
|
const watchSrc = watch('src/**', { base: 'src', readDelay: 200 });
|
||||||
const generator = new MonacoGenerator(true);
|
const generator = new MonacoGenerator(true);
|
||||||
|
@ -178,6 +188,15 @@ class MonacoGenerator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function generateApiProposalNames() {
|
function generateApiProposalNames() {
|
||||||
|
let eol;
|
||||||
|
try {
|
||||||
|
const src = fs.readFileSync('src/vs/workbench/services/extensions/common/extensionsApiProposals.ts', 'utf-8');
|
||||||
|
const match = /\r?\n/m.exec(src);
|
||||||
|
eol = match ? match[0] : os.EOL;
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
eol = os.EOL;
|
||||||
|
}
|
||||||
const pattern = /vscode\.proposed\.([a-zA-Z]+)\.d\.ts$/;
|
const pattern = /vscode\.proposed\.([a-zA-Z]+)\.d\.ts$/;
|
||||||
const proposalNames = new Set();
|
const proposalNames = new Set();
|
||||||
const input = es.through();
|
const input = es.through();
|
||||||
|
@ -204,7 +223,7 @@ function generateApiProposalNames() {
|
||||||
'});',
|
'});',
|
||||||
'export type ApiProposalName = keyof typeof allApiProposals;',
|
'export type ApiProposalName = keyof typeof allApiProposals;',
|
||||||
'',
|
'',
|
||||||
].join(os.EOL);
|
].join(eol);
|
||||||
this.emit('data', new File({
|
this.emit('data', new File({
|
||||||
path: 'vs/workbench/services/extensions/common/extensionsApiProposals.ts',
|
path: 'vs/workbench/services/extensions/common/extensionsApiProposals.ts',
|
||||||
contents: Buffer.from(contents)
|
contents: Buffer.from(contents)
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as es from 'event-stream';
|
import * as es from 'event-stream';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as gulp from 'gulp';
|
import * as gulp from 'gulp';
|
||||||
|
@ -39,7 +37,7 @@ function getTypeScriptCompilerOptions(src: string): ts.CompilerOptions {
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
|
|
||||||
function createCompile(src: string, build: boolean, emitError?: boolean) {
|
function createCompile(src: string, build: boolean, emitError: boolean, transpileOnly: boolean) {
|
||||||
const tsb = require('./tsb') as typeof import('./tsb');
|
const tsb = require('./tsb') as typeof import('./tsb');
|
||||||
const sourcemaps = require('gulp-sourcemaps') as typeof import('gulp-sourcemaps');
|
const sourcemaps = require('gulp-sourcemaps') as typeof import('gulp-sourcemaps');
|
||||||
|
|
||||||
|
@ -50,7 +48,7 @@ function createCompile(src: string, build: boolean, emitError?: boolean) {
|
||||||
overrideOptions.inlineSourceMap = true;
|
overrideOptions.inlineSourceMap = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const compilation = tsb.create(projectPath, overrideOptions, { verbose: false }, err => reporter(err));
|
const compilation = tsb.create(projectPath, overrideOptions, { verbose: false, transpileOnly }, err => reporter(err));
|
||||||
|
|
||||||
function pipeline(token?: util.ICancellationToken) {
|
function pipeline(token?: util.ICancellationToken) {
|
||||||
const bom = require('gulp-bom') as typeof import('gulp-bom');
|
const bom = require('gulp-bom') as typeof import('gulp-bom');
|
||||||
|
@ -70,7 +68,7 @@ function createCompile(src: string, build: boolean, emitError?: boolean) {
|
||||||
.pipe(noDeclarationsFilter)
|
.pipe(noDeclarationsFilter)
|
||||||
.pipe(build ? nls.nls() : es.through())
|
.pipe(build ? nls.nls() : es.through())
|
||||||
.pipe(noDeclarationsFilter.restore)
|
.pipe(noDeclarationsFilter.restore)
|
||||||
.pipe(sourcemaps.write('.', {
|
.pipe(transpileOnly ? es.through() : sourcemaps.write('.', {
|
||||||
addComment: false,
|
addComment: false,
|
||||||
includeContent: !!build,
|
includeContent: !!build,
|
||||||
sourceRoot: overrideOptions.sourceRoot
|
sourceRoot: overrideOptions.sourceRoot
|
||||||
|
@ -86,6 +84,19 @@ function createCompile(src: string, build: boolean, emitError?: boolean) {
|
||||||
return pipeline;
|
return pipeline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function transpileTask(src: string, out: string): () => NodeJS.ReadWriteStream {
|
||||||
|
|
||||||
|
return function () {
|
||||||
|
|
||||||
|
const transpile = createCompile(src, false, true, true);
|
||||||
|
const srcPipe = gulp.src(`${src}/**`, { base: `${src}` });
|
||||||
|
|
||||||
|
return srcPipe
|
||||||
|
.pipe(transpile())
|
||||||
|
.pipe(gulp.dest(out));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function compileTask(src: string, out: string, build: boolean): () => NodeJS.ReadWriteStream {
|
export function compileTask(src: string, out: string, build: boolean): () => NodeJS.ReadWriteStream {
|
||||||
|
|
||||||
return function () {
|
return function () {
|
||||||
|
@ -94,7 +105,7 @@ export function compileTask(src: string, out: string, build: boolean): () => Nod
|
||||||
throw new Error('compilation requires 4GB of RAM');
|
throw new Error('compilation requires 4GB of RAM');
|
||||||
}
|
}
|
||||||
|
|
||||||
const compile = createCompile(src, build, true);
|
const compile = createCompile(src, build, true, false);
|
||||||
const srcPipe = gulp.src(`${src}/**`, { base: `${src}` });
|
const srcPipe = gulp.src(`${src}/**`, { base: `${src}` });
|
||||||
const generator = new MonacoGenerator(false);
|
const generator = new MonacoGenerator(false);
|
||||||
if (src === 'src') {
|
if (src === 'src') {
|
||||||
|
@ -111,7 +122,7 @@ export function compileTask(src: string, out: string, build: boolean): () => Nod
|
||||||
export function watchTask(out: string, build: boolean): () => NodeJS.ReadWriteStream {
|
export function watchTask(out: string, build: boolean): () => NodeJS.ReadWriteStream {
|
||||||
|
|
||||||
return function () {
|
return function () {
|
||||||
const compile = createCompile('src', build);
|
const compile = createCompile('src', build, false, false);
|
||||||
|
|
||||||
const src = gulp.src('src/**', { base: 'src' });
|
const src = gulp.src('src/**', { base: 'src' });
|
||||||
const watchSrc = watch('src/**', { base: 'src', readDelay: 200 });
|
const watchSrc = watch('src/**', { base: 'src', readDelay: 200 });
|
||||||
|
@ -215,6 +226,16 @@ class MonacoGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateApiProposalNames() {
|
function generateApiProposalNames() {
|
||||||
|
let eol: string;
|
||||||
|
|
||||||
|
try {
|
||||||
|
const src = fs.readFileSync('src/vs/workbench/services/extensions/common/extensionsApiProposals.ts', 'utf-8');
|
||||||
|
const match = /\r?\n/m.exec(src);
|
||||||
|
eol = match ? match[0] : os.EOL;
|
||||||
|
} catch {
|
||||||
|
eol = os.EOL;
|
||||||
|
}
|
||||||
|
|
||||||
const pattern = /vscode\.proposed\.([a-zA-Z]+)\.d\.ts$/;
|
const pattern = /vscode\.proposed\.([a-zA-Z]+)\.d\.ts$/;
|
||||||
const proposalNames = new Set<string>();
|
const proposalNames = new Set<string>();
|
||||||
|
|
||||||
|
@ -243,7 +264,7 @@ function generateApiProposalNames() {
|
||||||
'});',
|
'});',
|
||||||
'export type ApiProposalName = keyof typeof allApiProposals;',
|
'export type ApiProposalName = keyof typeof allApiProposals;',
|
||||||
'',
|
'',
|
||||||
].join(os.EOL);
|
].join(eol);
|
||||||
|
|
||||||
this.emit('data', new File({
|
this.emit('data', new File({
|
||||||
path: 'vs/workbench/services/extensions/common/extensionsApiProposals.ts',
|
path: 'vs/workbench/services/extensions/common/extensionsApiProposals.ts',
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getProductionDependencies = void 0;
|
exports.getProductionDependencies = void 0;
|
||||||
const path = require("path");
|
const path = require("path");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as cp from 'child_process';
|
import * as cp from 'child_process';
|
||||||
import * as _ from 'underscore';
|
import * as _ from 'underscore';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.config = void 0;
|
exports.config = void 0;
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
import * as vfs from 'vinyl-fs';
|
import * as vfs from 'vinyl-fs';
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Rule Definition
|
// Rule Definition
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as eslint from 'eslint';
|
import * as eslint from 'eslint';
|
||||||
import { TSESTree } from '@typescript-eslint/experimental-utils';
|
import { TSESTree } from '@typescript-eslint/experimental-utils';
|
||||||
import * as ESTree from 'estree';
|
import * as ESTree from 'estree';
|
||||||
|
|
|
@ -1,14 +1,8 @@
|
||||||
|
"use strict";
|
||||||
/*---------------------------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------------------------
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
// FORKED FROM https://github.com/eslint/eslint/blob/b23ad0d789a909baf8d7c41a35bc53df932eaf30/lib/rules/no-unused-expressions.js
|
|
||||||
// and added support for `OptionalCallExpression`, see https://github.com/facebook/create-react-app/issues/8107 and https://github.com/eslint/eslint/issues/12642
|
|
||||||
/**
|
|
||||||
* @fileoverview Flag expressions in statement position that do not side effect
|
|
||||||
* @author Michael Ficarra
|
|
||||||
*/
|
|
||||||
'use strict';
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Rule Definition
|
// Rule Definition
|
||||||
|
|
|
@ -11,8 +11,6 @@
|
||||||
* @author Michael Ficarra
|
* @author Michael Ficarra
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
import * as eslint from 'eslint';
|
import * as eslint from 'eslint';
|
||||||
import { TSESTree } from '@typescript-eslint/experimental-utils';
|
import { TSESTree } from '@typescript-eslint/experimental-utils';
|
||||||
import * as ESTree from 'estree';
|
import * as ESTree from 'estree';
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue