Bootstrap yarn to fix/enable CFSClean3. (#14284)

This commit is contained in:
Sean McManus
2026-03-17 16:05:06 -07:00
committed by GitHub
parent 20cfc2bbef
commit c813ab5a99
7 changed files with 58 additions and 13 deletions
+3 -6
View File
@@ -61,7 +61,7 @@ extends:
featureFlags:
autoBaseline: false
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: build
@@ -81,9 +81,6 @@ extends:
steps:
- checkout: self
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
displayName: Use Yarn 1.x
- task: UseNode@1
displayName: Use Node 22.x
inputs:
@@ -102,9 +99,9 @@ extends:
script: |
export SRC_DIR=$(echo $BUILD_SOURCESDIRECTORY | sed 's|\\|/|g')
cd "$SRC_DIR/Extension"
yarn run vsix-prepublish
npm run vsix-prepublish
if [ $? -ne 0 ]; then
echo "yarn run vsix-prepublish failed, sleeping for 30s before retrying..."
echo "npm run vsix-prepublish failed, sleeping for 30s before retrying..."
sleep 30
exit 1
fi
+1 -1
View File
@@ -32,7 +32,7 @@ extends:
image: 1ESPT-Windows2022
os: windows
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: package
+1 -1
View File
@@ -32,7 +32,7 @@ extends:
image: 1ESPT-Windows2022
os: windows
settings:
networkIsolationPolicy: Permissive,CFSClean,CFSClean2
networkIsolationPolicy: Permissive,CFSClean,CFSClean2,CFSClean3
stages:
- stage: package
+31
View File
@@ -0,0 +1,31 @@
{
"name": "cpptools-yarn-bootstrap",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cpptools-yarn-bootstrap",
"version": "1.0.0",
"license": "SEE LICENSE IN LICENSE.txt",
"devDependencies": {
"yarn": "1.22.22"
}
},
"node_modules/yarn": {
"version": "1.22.22",
"resolved": "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/yarn/-/yarn-1.22.22.tgz",
"integrity": "sha1-rDRUnmqo5+rUY6dAfhxzkPYaZhA=",
"dev": true,
"hasInstallScript": true,
"license": "BSD-2-Clause",
"bin": {
"yarn": "bin/yarn.js",
"yarnpkg": "bin/yarn.js"
},
"engines": {
"node": ">=4.0.0"
}
}
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"name": "cpptools-yarn-bootstrap",
"private": true,
"version": "1.0.0",
"description": "Install Yarn from internal npm feed for repository bootstrap.",
"license": "SEE LICENSE IN LICENSE.txt",
"devDependencies": {
"yarn": "1.22.22"
}
}
+3 -1
View File
@@ -6781,6 +6781,8 @@
]
},
"scripts": {
"bootstrap": "npm run bootstrap:yarn && yarn install --frozen-lockfile",
"bootstrap:yarn": "npm install -g [email protected] --registry=https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/",
"scripts": "ts-node -T .scripts/scripts.ts",
"show": "ts-node -T .scripts/clean.ts show",
"clean": "ts-node -T .scripts/clean.ts",
@@ -6792,7 +6794,7 @@
"compile": "yarn install && (yarn verify prep --quiet || yarn prep) && yarn build",
"watch": "yarn install && (yarn verify prep --quiet || yarn prep) && tsc --build tsconfig.json --watch",
"rebuild": "yarn install && yarn clean && yarn prep && yarn build",
"vsix-prepublish": "yarn install && yarn clean && yarn webpack",
"vsix-prepublish": "npm run bootstrap && yarn clean && yarn webpack",
"webpack": "yarn install && (yarn verify prep --quiet || yarn prep) && tsc --build ui.tsconfig.json && webpack --mode production --env vscode_nls",
"generate-native-strings": "ts-node -T ./.scripts/generateNativeStrings.ts",
"generate-options-schema": "ts-node -T ./.scripts/generateOptionsSchema.ts",
+9 -4
View File
@@ -35,15 +35,20 @@
### Required Tools
* [Node.js](https://nodejs.org/en/download/) v16.*
* Yarn - use `npm install -g yarn` to install
* npm (comes with Node.js)
### Setting up the repository
`git clone https://github.com/microsoft/vscode-cpptools.git`
`yarn install`
`cd vscode-cpptools/Extension`
It's also good practice to run `yarn install` after merging from upstream or switching branches.
`npm run bootstrap`
`npm run bootstrap` installs Yarn `1.22.22` globally from the internal npm feed and then runs `yarn install --frozen-lockfile`.
On some systems, global npm install may require elevated permissions.
It's also good practice to run `npm run bootstrap` after merging from upstream or switching branches.
## Building the Extension
@@ -336,4 +341,4 @@ This will use webpack to build the extension. This is only necessary when packag
Installs the VS Code `*.d.ts` files and then runs `yarn prep`
You should run `yarn install` after merging from upstream or switching branches.
You should run `npm run bootstrap` after merging from upstream or switching branches.