182726178f
fixes #45746
413 lines
No EOL
14 KiB
YAML
413 lines
No EOL
14 KiB
YAML
phases:
|
|
- phase: Windows
|
|
condition: eq(variables['VSCODE_BUILD_WIN32'], 'true')
|
|
queue:
|
|
name: Hosted VS2017
|
|
parallel: 2
|
|
matrix:
|
|
x64:
|
|
VSCODE_ARCH: x64
|
|
ia32:
|
|
VSCODE_ARCH: ia32
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: "8.9.1"
|
|
|
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
|
inputs:
|
|
versionSpec: "1.3.2"
|
|
|
|
- powershell: |
|
|
$ErrorActionPreference = "Stop"
|
|
"machine monacotools.visualstudio.com password $(VSO_PAT)" | Out-File "$env:USERPROFILE\_netrc" -Encoding ASCII
|
|
$env:npm_config_arch="$(VSCODE_ARCH)"
|
|
$env:CHILD_CONCURRENCY="1"
|
|
yarn
|
|
npm run gulp -- hygiene
|
|
npm run monaco-compile-check
|
|
$env:VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)"
|
|
npm run gulp -- mixin
|
|
node build/tfs/common/installDistro.js
|
|
node build/lib/builtInExtensions.js
|
|
|
|
- powershell: |
|
|
$ErrorActionPreference = "Stop"
|
|
$env:VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)"
|
|
npm run gulp -- "vscode-win32-$(VSCODE_ARCH)-min"
|
|
npm run gulp -- "vscode-win32-$(VSCODE_ARCH)-copy-inno-updater"
|
|
name: build
|
|
|
|
- powershell: |
|
|
$ErrorActionPreference = "Stop"
|
|
npm run gulp -- "electron-$(VSCODE_ARCH)"
|
|
.\scripts\test.bat --build --tfs
|
|
# yarn smoketest -- --build "$(agent.builddirectory)\VSCode-win32-$(VSCODE_ARCH)"
|
|
name: test
|
|
|
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
|
inputs:
|
|
ConnectedServiceName: 'ESRP CodeSign'
|
|
FolderPath: '$(agent.builddirectory)/VSCode-win32-$(VSCODE_ARCH)'
|
|
Pattern: '*.dll,*.exe,*.node'
|
|
signConfigType: inlineSignParams
|
|
inlineOperation: |
|
|
[
|
|
{
|
|
"keyCode": "CP-229803",
|
|
"operationSetCode": "SigntoolSign",
|
|
"parameters": [
|
|
{
|
|
"parameterName": "OpusName",
|
|
"parameterValue": "VS Code"
|
|
},
|
|
{
|
|
"parameterName": "OpusInfo",
|
|
"parameterValue": "https://code.visualstudio.com/"
|
|
},
|
|
{
|
|
"parameterName": "PageHash",
|
|
"parameterValue": "/NPH"
|
|
},
|
|
{
|
|
"parameterName": "TimeStamp",
|
|
"parameterValue": "/t \"http://ts4096.gtm.microsoft.com/TSS/AuthenticodeTS\""
|
|
}
|
|
],
|
|
"toolName": "sign",
|
|
"toolVersion": "1.0"
|
|
},
|
|
{
|
|
"keyCode": "CP-230012",
|
|
"operationSetCode": "SigntoolSign",
|
|
"parameters": [
|
|
{
|
|
"parameterName": "OpusName",
|
|
"parameterValue": "VS Code"
|
|
},
|
|
{
|
|
"parameterName": "OpusInfo",
|
|
"parameterValue": "https://code.visualstudio.com/"
|
|
},
|
|
{
|
|
"parameterName": "Append",
|
|
"parameterValue": "/as"
|
|
},
|
|
{
|
|
"parameterName": "FileDigest",
|
|
"parameterValue": "/fd \"SHA256\""
|
|
},
|
|
{
|
|
"parameterName": "PageHash",
|
|
"parameterValue": "/NPH"
|
|
},
|
|
{
|
|
"parameterName": "TimeStamp",
|
|
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
|
|
}
|
|
],
|
|
"toolName": "sign",
|
|
"toolVersion": "1.0"
|
|
},
|
|
{
|
|
"keyCode": "CP-230012",
|
|
"operationSetCode": "SigntoolVerify",
|
|
"parameters": [
|
|
{
|
|
"parameterName": "VerifyAll",
|
|
"parameterValue": "/all"
|
|
}
|
|
],
|
|
"toolName": "sign",
|
|
"toolVersion": "1.0"
|
|
}
|
|
]
|
|
SessionTimeout: 120
|
|
|
|
- powershell: |
|
|
$ErrorActionPreference = "Stop"
|
|
npm run gulp -- "vscode-win32-$(VSCODE_ARCH)-archive" "vscode-win32-$(VSCODE_ARCH)-setup"
|
|
|
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
|
inputs:
|
|
ConnectedServiceName: 'ESRP CodeSign'
|
|
FolderPath: '$(agent.builddirectory)'
|
|
Pattern: VSCodeSetup.exe
|
|
signConfigType: inlineSignParams
|
|
inlineOperation: |
|
|
[
|
|
{
|
|
"keyCode": "CP-229803",
|
|
"operationSetCode": "SigntoolSign",
|
|
"parameters": [
|
|
{
|
|
"parameterName": "OpusName",
|
|
"parameterValue": "VS Code"
|
|
},
|
|
{
|
|
"parameterName": "OpusInfo",
|
|
"parameterValue": "https://code.visualstudio.com/"
|
|
},
|
|
{
|
|
"parameterName": "PageHash",
|
|
"parameterValue": "/NPH"
|
|
},
|
|
{
|
|
"parameterName": "TimeStamp",
|
|
"parameterValue": "/t \"http://ts4096.gtm.microsoft.com/TSS/AuthenticodeTS\""
|
|
}
|
|
],
|
|
"toolName": "sign",
|
|
"toolVersion": "1.0"
|
|
},
|
|
{
|
|
"keyCode": "CP-230012",
|
|
"operationSetCode": "SigntoolSign",
|
|
"parameters": [
|
|
{
|
|
"parameterName": "OpusName",
|
|
"parameterValue": "VS Code"
|
|
},
|
|
{
|
|
"parameterName": "OpusInfo",
|
|
"parameterValue": "https://code.visualstudio.com/"
|
|
},
|
|
{
|
|
"parameterName": "Append",
|
|
"parameterValue": "/as"
|
|
},
|
|
{
|
|
"parameterName": "FileDigest",
|
|
"parameterValue": "/fd \"SHA256\""
|
|
},
|
|
{
|
|
"parameterName": "PageHash",
|
|
"parameterValue": "/NPH"
|
|
},
|
|
{
|
|
"parameterName": "TimeStamp",
|
|
"parameterValue": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
|
|
}
|
|
],
|
|
"toolName": "sign",
|
|
"toolVersion": "1.0"
|
|
},
|
|
{
|
|
"keyCode": "CP-230012",
|
|
"operationSetCode": "SigntoolVerify",
|
|
"parameters": [
|
|
{
|
|
"parameterName": "VerifyAll",
|
|
"parameterValue": "/all"
|
|
}
|
|
],
|
|
"toolName": "sign",
|
|
"toolVersion": "1.0"
|
|
}
|
|
]
|
|
SessionTimeout: 120
|
|
|
|
- powershell: |
|
|
$ErrorActionPreference = "Stop"
|
|
$Repo = "$(pwd)"
|
|
$Root = "$Repo\.."
|
|
$Exe = "$Repo\.build\win32-$(VSCODE_ARCH)\setup\VSCodeSetup.exe"
|
|
$Zip = "$Repo\.build\win32-$(VSCODE_ARCH)\archive\VSCode-win32-$(VSCODE_ARCH).zip"
|
|
$Build = "$Root\VSCode-win32-$(VSCODE_ARCH)"
|
|
|
|
# get version
|
|
$PackageJson = Get-Content -Raw -Path "$Build\resources\app\package.json" | ConvertFrom-Json
|
|
$Version = $PackageJson.version
|
|
$Quality = "$env:VSCODE_QUALITY"
|
|
$env:AZURE_STORAGE_ACCESS_KEY_2 = "$(AZURE_STORAGE_ACCESS_KEY_2)"
|
|
$env:MOONCAKE_STORAGE_ACCESS_KEY = "$(MOONCAKE_STORAGE_ACCESS_KEY)"
|
|
$env:AZURE_DOCUMENTDB_MASTERKEY = "$(AZURE_DOCUMENTDB_MASTERKEY)"
|
|
|
|
$assetPlatform = if ("$(VSCODE_ARCH)" -eq "ia32") { "win32" } else { "win32-x64" }
|
|
|
|
node build/tfs/common/publish.js $Quality "$global:assetPlatform-archive" archive "VSCode-win32-$(VSCODE_ARCH)-$Version.zip" $Version true $Zip
|
|
node build/tfs/common/publish.js $Quality "$global:assetPlatform" setup "VSCodeSetup-$(VSCODE_ARCH)-$Version.exe" $Version true $Exe
|
|
|
|
# publish hockeyapp symbols
|
|
$hockeyAppId = if ("$(VSCODE_ARCH)" -eq "ia32") { "$(VSCODE_HOCKEYAPP_ID_WIN32)" } else { "$(VSCODE_HOCKEYAPP_ID_WIN64)" }
|
|
node build/tfs/common/symbols.js "$(VSCODE_MIXIN_PASSWORD)" "$(VSCODE_HOCKEYAPP_TOKEN)" "$(VSCODE_ARCH)" $hockeyAppId
|
|
|
|
- phase: Linux
|
|
condition: eq(variables['VSCODE_BUILD_LINUX'], 'true')
|
|
queue: linux-x64
|
|
variables:
|
|
VSCODE_ARCH: x64
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: "8.9.1"
|
|
|
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
|
inputs:
|
|
versionSpec: "1.3.2"
|
|
|
|
- script: |
|
|
set -e
|
|
export npm_config_arch="$(VSCODE_ARCH)"
|
|
if [[ "$(VSCODE_ARCH)" == "ia32" ]]; then
|
|
export PKG_CONFIG_PATH="/usr/lib/i386-linux-gnu/pkgconfig"
|
|
fi
|
|
|
|
echo "machine monacotools.visualstudio.com password $(VSO_PAT)" > ~/.netrc
|
|
yarn
|
|
npm run gulp -- hygiene
|
|
npm run monaco-compile-check
|
|
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" npm run gulp -- mixin
|
|
node build/tfs/common/installDistro.js
|
|
node build/lib/builtInExtensions.js
|
|
|
|
- script: |
|
|
set -e
|
|
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" npm run gulp -- vscode-linux-$(VSCODE_ARCH)-min
|
|
name: build
|
|
|
|
- script: |
|
|
set -e
|
|
npm run gulp -- "electron-$(VSCODE_ARCH)"
|
|
DISPLAY=:10 ./scripts/test.sh --build --tfs
|
|
# yarn smoketest -- --build "$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)"
|
|
name: test
|
|
|
|
- script: |
|
|
set -e
|
|
npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-deb"
|
|
npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-rpm"
|
|
#npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-snap"
|
|
|
|
AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
|
|
AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
|
|
MOONCAKE_STORAGE_ACCESS_KEY="$(MOONCAKE_STORAGE_ACCESS_KEY)" \
|
|
./build/tfs/linux/release2.sh "$(VSCODE_ARCH)" "$(LINUX_REPO_PASSWORD)"
|
|
|
|
# publish hockeyapp symbols
|
|
node build/tfs/common/symbols.js "$(VSCODE_MIXIN_PASSWORD)" "$(VSCODE_HOCKEYAPP_TOKEN)" "$(VSCODE_ARCH)" "$(VSCODE_HOCKEYAPP_ID_LINUX64)"
|
|
|
|
- phase: Linux32
|
|
condition: eq(variables['VSCODE_BUILD_LINUX'], 'true')
|
|
queue: linux-ia32
|
|
variables:
|
|
VSCODE_ARCH: ia32
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: "8.9.1"
|
|
|
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
|
inputs:
|
|
versionSpec: "1.3.2"
|
|
|
|
- script: |
|
|
set -e
|
|
export npm_config_arch="$(VSCODE_ARCH)"
|
|
if [[ "$(VSCODE_ARCH)" == "ia32" ]]; then
|
|
export PKG_CONFIG_PATH="/usr/lib/i386-linux-gnu/pkgconfig"
|
|
fi
|
|
|
|
echo "machine monacotools.visualstudio.com password $(VSO_PAT)" > ~/.netrc
|
|
yarn
|
|
npm run gulp -- hygiene
|
|
npm run monaco-compile-check
|
|
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" npm run gulp -- mixin
|
|
node build/tfs/common/installDistro.js
|
|
node build/lib/builtInExtensions.js
|
|
|
|
- script: |
|
|
set -e
|
|
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" npm run gulp -- vscode-linux-$(VSCODE_ARCH)-min
|
|
name: build
|
|
|
|
- script: |
|
|
set -e
|
|
npm run gulp -- "electron-$(VSCODE_ARCH)"
|
|
DISPLAY=:10 ./scripts/test.sh --build --tfs
|
|
# yarn smoketest -- --build "$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)"
|
|
name: test
|
|
|
|
- script: |
|
|
set -e
|
|
npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-deb"
|
|
npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-rpm"
|
|
#npm run gulp -- "vscode-linux-$(VSCODE_ARCH)-build-snap"
|
|
|
|
AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
|
|
AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
|
|
MOONCAKE_STORAGE_ACCESS_KEY="$(MOONCAKE_STORAGE_ACCESS_KEY)" \
|
|
./build/tfs/linux/release.sh "$(VSCODE_ARCH)" "$(LINUX_REPO_PASSWORD)"
|
|
|
|
# publish hockeyapp symbols
|
|
node build/tfs/common/symbols.js "$(VSCODE_MIXIN_PASSWORD)" "$(VSCODE_HOCKEYAPP_TOKEN)" "$(VSCODE_ARCH)" "$(VSCODE_HOCKEYAPP_ID_LINUX32)"
|
|
|
|
- phase: macOS
|
|
condition: eq(variables['VSCODE_BUILD_MACOS'], 'true')
|
|
queue: Hosted macOS Preview
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: "8.9.1"
|
|
|
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
|
inputs:
|
|
versionSpec: "1.3.2"
|
|
|
|
- script: |
|
|
set -e
|
|
echo "machine monacotools.visualstudio.com password $(VSO_PAT)" > ~/.netrc
|
|
yarn
|
|
npm run gulp -- hygiene
|
|
npm run monaco-compile-check
|
|
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" npm run gulp -- mixin
|
|
node build/tfs/common/installDistro.js
|
|
node build/lib/builtInExtensions.js
|
|
|
|
- script: |
|
|
set -e
|
|
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" \
|
|
AZURE_STORAGE_ACCESS_KEY="$(AZURE_STORAGE_ACCESS_KEY)" \
|
|
npm run gulp -- vscode-darwin-min upload-vscode-sourcemaps
|
|
name: build
|
|
|
|
- script: |
|
|
set -e
|
|
./scripts/test.sh --build --tfs
|
|
APP_NAME="`ls $(agent.builddirectory)/VSCode-darwin | head -n 1`"
|
|
# yarn smoketest -- --build "$(agent.builddirectory)/VSCode-darwin/$APP_NAME"
|
|
name: test
|
|
|
|
- script: |
|
|
set -e
|
|
# archive the unsigned build
|
|
pushd ../VSCode-darwin && zip -r -X -y ../VSCode-darwin-unsigned.zip * && popd
|
|
|
|
# publish the unsigned build
|
|
PACKAGEJSON=`ls ../VSCode-darwin/*.app/Contents/Resources/app/package.json`
|
|
VERSION=`node -p "require(\"$PACKAGEJSON\").version"`
|
|
AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
|
|
AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
|
|
MOONCAKE_STORAGE_ACCESS_KEY="$(MOONCAKE_STORAGE_ACCESS_KEY)" \
|
|
node build/tfs/common/publish.js \
|
|
"$(VSCODE_QUALITY)" \
|
|
darwin \
|
|
archive-unsigned \
|
|
"VSCode-darwin-$(VSCODE_QUALITY)-unsigned.zip" \
|
|
$VERSION \
|
|
false \
|
|
../VSCode-darwin-unsigned.zip
|
|
|
|
# publish hockeyapp symbols
|
|
node build/tfs/common/symbols.js "$(VSCODE_MIXIN_PASSWORD)" "$(VSCODE_HOCKEYAPP_TOKEN)" "$(VSCODE_ARCH)" "$(VSCODE_HOCKEYAPP_ID_MACOS)"
|
|
|
|
# enqueue the unsigned build
|
|
AZURE_DOCUMENTDB_MASTERKEY="$(AZURE_DOCUMENTDB_MASTERKEY)" \
|
|
AZURE_STORAGE_ACCESS_KEY_2="$(AZURE_STORAGE_ACCESS_KEY_2)" \
|
|
node build/tfs/darwin/enqueue.js "$(VSCODE_QUALITY)"
|
|
|
|
AZURE_STORAGE_ACCESS_KEY="$(AZURE_STORAGE_ACCESS_KEY)" \
|
|
npm run gulp -- upload-vscode-configuration |