diff --git a/build/Targets/Packages.props b/build/Targets/Packages.props index 48ab2866f2292119cf81ea7a9ae07a9945bc8886..f9c2e02521dffdecb92446aabccdd609a36d19cc 100644 --- a/build/Targets/Packages.props +++ b/build/Targets/Packages.props @@ -42,6 +42,7 @@ 1.4.0 4.7.2-alpha-00001 1.0.27-prerelease-01811-02 + 1.0.0-prerelease-02202-02 3.13.8 15.0.26606-alpha 14.3.25407-alpha diff --git a/build/ToolsetPackages/BaseToolset.csproj b/build/ToolsetPackages/BaseToolset.csproj index a68187d3d01a702120a2276c88f604978120f414..f335e98b1a0b70022781bf7b4487e7b051660617 100644 --- a/build/ToolsetPackages/BaseToolset.csproj +++ b/build/ToolsetPackages/BaseToolset.csproj @@ -12,6 +12,7 @@ + diff --git a/src/Tools/MicroBuild/Build.proj b/src/Tools/MicroBuild/Build.proj index b7b2f71861bb6486cd43a4111a8be8db0a9ce008..81b4b75d1ab87a7a7b2ff7276ed96e40c89a7cf1 100644 --- a/src/Tools/MicroBuild/Build.proj +++ b/src/Tools/MicroBuild/Build.proj @@ -13,7 +13,9 @@ $(ScriptArgs) -testDesktop $(ScriptArgs) -signType "real" $(ScriptArgs) -signType "test" - $(ScriptArgs) -publish + $(ScriptArgs) -publishType "vsts" + $(ScriptArgs) -publishType "blob" + $(ScriptArgs) -blobFeedUrl $(PB_PublishBlobFeedUrl) -blobFeedKey $(PB_PublishBlobFeedKey) diff --git a/src/Tools/MicroBuild/PublishBlobAssets.proj b/src/Tools/MicroBuild/PublishBlobAssets.proj new file mode 100644 index 0000000000000000000000000000000000000000..d5469287dc3e9f2fadc1b84e5f53afc94509687c --- /dev/null +++ b/src/Tools/MicroBuild/PublishBlobAssets.proj @@ -0,0 +1,27 @@ + + + + + + + false + + + + + + + + + + + + + + diff --git a/src/Tools/MicroBuild/microbuild.ps1 b/src/Tools/MicroBuild/microbuild.ps1 index 0a7f8fdccb8af0d23632f5dd9ecb2a5b0705e7e3..761cb2833d074206e1952614bbf1fd28cf0a1c25 100644 --- a/src/Tools/MicroBuild/microbuild.ps1 +++ b/src/Tools/MicroBuild/microbuild.ps1 @@ -7,7 +7,7 @@ param ( [switch]$cibuild = $false, [string]$branchName = "master", [switch]$testDesktop = $false, - [switch]$publish = $false, + [string]$publishType = "", [switch]$help = $false, [string]$signType = "", @@ -17,6 +17,8 @@ param ( [string]$gitHubUserName = "", [string]$gitHubToken = "", [string]$gitHubEmail = "", + [string]$blobFeedUrl = "", + [string]$blobFeedKey = "", [parameter(ValueFromRemainingArguments=$true)] $badArgs) Set-StrictMode -version 2.0 @@ -30,9 +32,10 @@ function Print-Usage() { Write-Host " -msbuildDir MSBuild to use for operations" Write-Host " -cibuild Run CI specific operations" Write-Host " -testDesktop Run unit tests" - Write-Host " -publish Run the pubish step" + Write-Host " -publishType Publish to run: vsts, blob or none (default is none)" Write-Host " -branchName Branch being built" Write-Host " -nugetApiKey Key for NuGet publishing" + Write-Host " -signType Signing type: real, test or public (default is public)" Write-Host " -help Print this message" } @@ -133,8 +136,18 @@ try { Get-Process vbcscompiler -ErrorAction SilentlyContinue | Stop-Process - if ($publish) { - Exec-Block { & .\publish-assets.ps1 -configDir $configDir -branchName $branchName -mygetApiKey $mygetApiKey -nugetApiKey $nugetApiKey -gitHubUserName $githubUserName -gitHubToken $gitHubToken -gitHubEmail $gitHubEmail -test:$(-not $official) } + switch ($publishType) { + "vsts" { + Exec-Block { & .\publish-assets.ps1 -configDir $configDir -branchName $branchName -mygetApiKey $mygetApiKey -nugetApiKey $nugetApiKey -gitHubUserName $githubUserName -gitHubToken $gitHubToken -gitHubEmail $gitHubEmail -test:$(-not $official) } + break; + } + "blob" { + Exec-Block { & .\publish-blob.ps1 -configDir $configDir -blobFeedUrl $blobFeedUrl -blobFeedKey $blobFeedKey } + break; + } + default { + break; + } } exit 0 diff --git a/src/Tools/MicroBuild/publish-blob.ps1 b/src/Tools/MicroBuild/publish-blob.ps1 new file mode 100644 index 0000000000000000000000000000000000000000..55c816e37c07a68cb43961d223f461654e901048 --- /dev/null +++ b/src/Tools/MicroBuild/publish-blob.ps1 @@ -0,0 +1,44 @@ +# Publishes our assets to our blob containers +# +# Repeatable is important here because we have to assume that publishes can and will fail with some +# degree of regularity. +[CmdletBinding(PositionalBinding=$false)] +Param( + # Standard options + [string]$configDir = "", + + # Credentials + [string]$blobFeedUrl = "", + [string]$blobFeedKey = "" +) + +Set-StrictMode -version 2.0 +$ErrorActionPreference="Stop" + +try { + . (Join-Path $PSScriptRoot "..\..\..\build\scripts\build-utils.ps1") + $msbuild, $msbuildDir = Ensure-MSBuildAndDir -msbuildDir $msbuildDir + + if ($blobFeedUrl -eq "") { + Write-Host "Need a value for -blobFeedUrl" + exit 1 + } + + if ($blobFeedKey -eq "") { + Write-Host "Need a value for -blobFeedKey" + exit 1 + } + + if ($configDir -eq "") { + Write-Host "Need a value for -configDir" + exit 1 + } + + Exec-Console $msbuild "/p:ConfigDir=$configDir /p:ExpectedFeedUrl=$blobFeedUrl /p:AccountKey=$blobFeedKey /p:OutputPath=$configDir PublishBlobAssets.proj" +} +catch { + Write-Host $_ + Write-Host $_.Exception + Write-Host $_.ScriptStackTrace + exit 1 +}