提交 3b6d58a6 编写于 作者: T Tanner Gooding

Updating build.ps1 to kill devenv as part of its 'finally' clause for cibuilds.

上级 e2ec195c
...@@ -273,8 +273,6 @@ function Deploy-VsixViaTool() { ...@@ -273,8 +273,6 @@ function Deploy-VsixViaTool() {
"Vsix\VisualStudioDiagnosticsWindow\Roslyn.VisualStudio.DiagnosticsWindow.vsix", "Vsix\VisualStudioDiagnosticsWindow\Roslyn.VisualStudio.DiagnosticsWindow.vsix",
"Vsix\VisualStudioIntegrationTestSetup\Microsoft.VisualStudio.IntegrationTest.Setup.vsix") "Vsix\VisualStudioIntegrationTestSetup\Microsoft.VisualStudio.IntegrationTest.Setup.vsix")
Get-Process -Name "devenv"
Write-Host "Uninstalling old Roslyn VSIX" Write-Host "Uninstalling old Roslyn VSIX"
# Reverse the extension list so we uninstall in the proper order so that dependencies line up # Reverse the extension list so we uninstall in the proper order so that dependencies line up
...@@ -340,13 +338,33 @@ function Redirect-Temp() { ...@@ -340,13 +338,33 @@ function Redirect-Temp() {
${env:TMP} = $temp ${env:TMP} = $temp
} }
function List-BuildProcesses() {
Write-Host "Listing running build processes..."
Get-Process -Name "msbuild" -ErrorAction SilentlyContinue | Out-Host
Get-Process -Name "vbcscompiler" -ErrorAction SilentlyContinue | Out-Host
}
function List-VSProcesses() {
Write-Host "Listing running vs processes..."
Get-Process -Name "devenv" -ErrorAction SilentlyContinue | Out-Host
}
# Kill any instances VBCSCompiler.exe to release locked files, ignoring stderr if process is not open # Kill any instances VBCSCompiler.exe to release locked files, ignoring stderr if process is not open
# This prevents future CI runs from failing while trying to delete those files. # This prevents future CI runs from failing while trying to delete those files.
# Kill any instances of msbuild.exe to ensure that we never reuse nodes (e.g. if a non-roslyn CI run # Kill any instances of msbuild.exe to ensure that we never reuse nodes (e.g. if a non-roslyn CI run
# left some floating around). # left some floating around).
function Stop-BuildProcesses() { function Stop-BuildProcesses() {
Get-Process msbuild -ErrorAction SilentlyContinue | kill Write-Host "Killing running build processes..."
Get-Process vbcscompiler -ErrorAction SilentlyContinue | kill Get-Process -Name "msbuild" -ErrorAction SilentlyContinue | Stop-Process
Get-Process -Name "vbcscompiler" -ErrorAction SilentlyContinue | Stop-Process
}
# Kill any instances of devenv.exe to ensure VSIX install/uninstall works in future runs and to ensure
# that any locked files don't prevent future CI runs from failing.
# Also call Stop-BuildProcesses
function Stop-VSProcesses() {
Write-Host "Killing running vs processes..."
Get-Process -Name "devenv" -ErrorAction SilentlyContinue | Stop-Process
} }
try { try {
...@@ -375,6 +393,8 @@ try { ...@@ -375,6 +393,8 @@ try {
Create-Directory $configDir Create-Directory $configDir
if ($cibuild) { if ($cibuild) {
List-VSProcesses
List-BuildProcesses
Redirect-Temp Redirect-Temp
} }
...@@ -427,7 +447,8 @@ catch { ...@@ -427,7 +447,8 @@ catch {
} }
finally { finally {
Pop-Location Pop-Location
if ($cibuild) { if ($cibuild) {
Stop-VSProcesses
Stop-BuildProcesses Stop-BuildProcesses
} }
} }
...@@ -219,8 +219,6 @@ commitPullList.each { isPr -> ...@@ -219,8 +219,6 @@ commitPullList.each { isPr ->
def myJob = job(jobName) { def myJob = job(jobName) {
description("Windows ${configuration} tests on ${buildTarget}") description("Windows ${configuration} tests on ${buildTarget}")
steps { steps {
batchfile('tasklist /FI "IMAGENAME eq devenv.exe"')
batchfile('taskkill /FI "IMAGENAME eq devenv.exe"')
batchFile(""".\\build\\scripts\\cibuild.cmd ${(configuration == 'debug') ? '-debug' : '-release'} -testVsi""") batchFile(""".\\build\\scripts\\cibuild.cmd ${(configuration == 'debug') ? '-debug' : '-release'} -testVsi""")
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册