From bdaa575b88a40c4ff8b16a9a99b632d97c496478 Mon Sep 17 00:00:00 2001 From: int19h Date: Fri, 17 Jul 2015 12:52:07 -0700 Subject: [PATCH 1/2] Archive and publish symbols for all signed releases to the public symbol server. --- Build/BuildReleaseHelpers.psm1 | 19 +++++++++++++++---- Build/BuildReleaseMockHelpers.psm1 | 23 +++++++++++++++++++---- Python/Setup/BuildRelease.ps1 | 12 ++++++++---- 3 files changed, 42 insertions(+), 12 deletions(-) diff --git a/Build/BuildReleaseHelpers.psm1 b/Build/BuildReleaseHelpers.psm1 index 82a8829f5c..9998960c08 100644 --- a/Build/BuildReleaseHelpers.psm1 +++ b/Build/BuildReleaseHelpers.psm1 @@ -1,5 +1,5 @@ function submit_symbols { - param($buildname, $buildid, $filetype, $sourcedir, $contacts) + param($productgroup, $productver, $buildname, $buildid, $buildnum, $buildtype, $filetype, $sourcedir, $contacts) $request = ` "BuildId=$buildid $filetype @@ -10,13 +10,24 @@ function submit_symbols { Project=TechnicalComputing Recursive=yes StatusMail=$contacts - UserName=$env:username" + UserName=$env:username + SubmitToArchive=all + SubmitToInternet=yes + ProductGroup=$productgroup + ProductName=$($productgroup)_$($productver) + Release=$buildnum + Build=$buildnum + BuildType=$buildtype + LocaleCode=en-US" Write-Output "*** Symbol Submission Text *** $request" - $request | Out-File -Encoding ascii -FilePath request_$filetype.txt - \\symbols\tools\createrequest.cmd -i request_$filetype.txt -d .\SymSrvRequestLogs -c -s + $reqfile = "symreq $buildname $buildid $buildtype $filetype.txt" + $request | Out-File -Encoding ascii -FilePath "$reqfile" + + \\symbols\tools\createrequest.cmd -i $reqfile -d .\SymSrvRequestLogs -c -s + \\symbols\tools\createrequest.cmd -i $reqfile -d .\SymSrvRequestLogs -c -a } function _find_sdk_tool { diff --git a/Build/BuildReleaseMockHelpers.psm1 b/Build/BuildReleaseMockHelpers.psm1 index 72936544ba..a8fe474b74 100644 --- a/Build/BuildReleaseMockHelpers.psm1 +++ b/Build/BuildReleaseMockHelpers.psm1 @@ -1,8 +1,8 @@ function submit_symbols { - param($buildname, $buildid, $filetype, $sourcedir, $contacts) + param($productgroup, $productver, $buildname, $buildid, $buildnum, $buildtype, $filetype, $sourcedir, $contacts) - Write-Debug "*** Symbol Submission Text *** - BuildId=$buildid $filetype + $request = ` + "BuildId=$buildid $filetype BuildLabPhone=7058786 BuildRemark=$buildname ContactPeople=$contacts @@ -10,7 +10,22 @@ function submit_symbols { Project=TechnicalComputing Recursive=yes StatusMail=$contacts - UserName=$env:username" + UserName=$env:username + SubmitToArchive=all + SubmitToInternet=yes + ProductGroup=$productgroup + ProductName=$($productgroup)_$($productver) + Release=$buildnum + Build=$buildnum + BuildType=$buildtype + LocaleCode=en-US" + + Write-Output "*** Symbol Submission Text *** +$request" + + # Dump it to the file as well so that it can be manually submitted for testing. + $reqfile = "symreq $buildname $buildid $buildtype $filetype.txt" + $request | Out-File -Encoding ascii -FilePath "$reqfile" } function _find_sdk_tool { diff --git a/Python/Setup/BuildRelease.ps1 b/Python/Setup/BuildRelease.ps1 index d995327840..29eb88e88c 100644 --- a/Python/Setup/BuildRelease.ps1 +++ b/Python/Setup/BuildRelease.ps1 @@ -147,14 +147,17 @@ $setup_project = gi "$buildroot\Python\Setup\setup.proj" # Project metadata $project_name = "Python Tools for Visual Studio" -$project_url = "http://pytools.codeplex.com" +$project_url = "http://aka.ms/ptvs" $project_keywords = "PTVS; Visual Studio; Python" +# Identifies all versions of the product for symbols archiving. No spaces. +$product_group = "Python_Tools_for_Visual_Studio" + # These people are able to approve code signing operations $approvers = "smortaz", "dinov", "stevdo", "pminaev", "gilbertw", "huvalo", "jinglou", "sitani", "crwilcox" # These people are the contacts for the symbols uploaded to the symbol server -$symbol_contacts = "$env:username;dinov;smortaz;stevdo;gilbertw" +$symbol_contacts = "$env:username;dinov;smortaz;stevdo;gilbertw;pminaev" # This single person or DL is the contact for virus scan notifications $vcs_contact = "ptvscore" @@ -562,8 +565,9 @@ try { Write-Output "Skipping symbol submission for $($i.VSName) because the build failed" continue } - submit_symbols "$project_name$spacename" "$buildnumber $($i.VSName)" "binaries" $i.signed_bindir $symbol_contacts - submit_symbols "$project_name$spacename" "$buildnumber $($i.VSName)" "symbols" $i.symboldir $symbol_contacts + + submit_symbols "$product_group" "$release_version" "$project_name$spacename" "$buildnumber $($i.VSName)" "$buildnumber" "$config" "binaries" $i.signed_bindir $symbol_contacts + submit_symbols "$product_group" "$release_version" "$project_name$spacename" "$buildnumber $($i.VSName)" "$buildnumber" "$config" "symbols" $i.symboldir $symbol_contacts $target_msbuild_options = msbuild-options $i msbuild $global_msbuild_options $target_msbuild_options ` From d33a9c3488777da14f7e5a5a11378055780523d8 Mon Sep 17 00:00:00 2001 From: int19h Date: Sat, 18 Jul 2015 00:40:30 -0700 Subject: [PATCH 2/2] Generate symbol request files in build output directory, and do not submit them twice (-a subsumes -s). --- Build/BuildReleaseHelpers.psm1 | 7 +++---- Build/BuildReleaseMockHelpers.psm1 | 4 ++-- Python/Setup/BuildRelease.ps1 | 4 ++-- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Build/BuildReleaseHelpers.psm1 b/Build/BuildReleaseHelpers.psm1 index 9998960c08..25c2de6247 100644 --- a/Build/BuildReleaseHelpers.psm1 +++ b/Build/BuildReleaseHelpers.psm1 @@ -1,5 +1,5 @@ function submit_symbols { - param($productgroup, $productver, $buildname, $buildid, $buildnum, $buildtype, $filetype, $sourcedir, $contacts) + param($productgroup, $productver, $buildname, $buildid, $buildnum, $buildtype, $filetype, $sourcedir, $reqdir, $contacts) $request = ` "BuildId=$buildid $filetype @@ -23,11 +23,10 @@ function submit_symbols { Write-Output "*** Symbol Submission Text *** $request" - $reqfile = "symreq $buildname $buildid $buildtype $filetype.txt" + $reqfile = "$reqdir\symreq_$filetype.txt" $request | Out-File -Encoding ascii -FilePath "$reqfile" - \\symbols\tools\createrequest.cmd -i $reqfile -d .\SymSrvRequestLogs -c -s - \\symbols\tools\createrequest.cmd -i $reqfile -d .\SymSrvRequestLogs -c -a + \\symbols\tools\createrequest.cmd -i "$reqfile" -d "$reqfile\SymSrvRequestLogs" -c -a } function _find_sdk_tool { diff --git a/Build/BuildReleaseMockHelpers.psm1 b/Build/BuildReleaseMockHelpers.psm1 index a8fe474b74..4731db5906 100644 --- a/Build/BuildReleaseMockHelpers.psm1 +++ b/Build/BuildReleaseMockHelpers.psm1 @@ -1,5 +1,5 @@ function submit_symbols { - param($productgroup, $productver, $buildname, $buildid, $buildnum, $buildtype, $filetype, $sourcedir, $contacts) + param($productgroup, $productver, $buildname, $buildid, $buildnum, $buildtype, $filetype, $sourcedir, $reqdir, $contacts) $request = ` "BuildId=$buildid $filetype @@ -24,7 +24,7 @@ function submit_symbols { $request" # Dump it to the file as well so that it can be manually submitted for testing. - $reqfile = "symreq $buildname $buildid $buildtype $filetype.txt" + $reqfile = "$reqdir\symreq_$filetype.txt" $request | Out-File -Encoding ascii -FilePath "$reqfile" } diff --git a/Python/Setup/BuildRelease.ps1 b/Python/Setup/BuildRelease.ps1 index 29eb88e88c..5ddbec0f72 100644 --- a/Python/Setup/BuildRelease.ps1 +++ b/Python/Setup/BuildRelease.ps1 @@ -566,8 +566,8 @@ try { continue } - submit_symbols "$product_group" "$release_version" "$project_name$spacename" "$buildnumber $($i.VSName)" "$buildnumber" "$config" "binaries" $i.signed_bindir $symbol_contacts - submit_symbols "$product_group" "$release_version" "$project_name$spacename" "$buildnumber $($i.VSName)" "$buildnumber" "$config" "symbols" $i.symboldir $symbol_contacts + submit_symbols "$product_group" "$release_version" "$project_name$spacename" "$buildnumber $($i.VSName)" "$buildnumber" "$config" "binaries" $i.signed_bindir $i.destdir $symbol_contacts + submit_symbols "$product_group" "$release_version" "$project_name$spacename" "$buildnumber $($i.VSName)" "$buildnumber" "$config" "symbols" $i.symboldir $i.destdir $symbol_contacts $target_msbuild_options = msbuild-options $i msbuild $global_msbuild_options $target_msbuild_options `