Initial changes to use the publishing infra from arcade to publish our assets.

This commit is contained in:
Livar Cunha 2018-12-19 12:53:08 -08:00
parent ebd23a5c95
commit 584467965a
3 changed files with 264 additions and 117 deletions

View file

@ -3,35 +3,56 @@ trigger:
variables:
teamName: Roslyn-Project-System
${{ if eq(variables['System.TeamProject'], 'public') }}:
PB_PublishBlobFeedKey:
PB_PublishBlobFeedUrl:
_DotNetPublishToBlobFeed: false
_PublishType: none
_SignType: test
${{ if ne(variables['System.TeamProject'], 'public') }}:
PB_PublishBlobFeedUrl: https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
_DotNetPublishToBlobFeed: true
_PublishType: blob
_SignType: real
phases:
- template: /eng/build.yml
parameters:
agentOs: Windows_NT
queue:
name: Hosted VS2017
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: dotnet-external-temp
${{ if ne(variables['System.TeamProject'], 'public') }}:
name: dotnet-internal-temp
parallel: 99
matrix:
Build_Debug_x86:
_BuildConfig: Debug
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_DropSuffix: ''
${{ if eq(variables['System.TeamProject'], 'public') }}:
Build_Debug_x86:
_BuildConfig: Debug
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_DropSuffix: ''
Build_ES_Debug_x64:
_BuildConfig: Debug
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: es
_DropSuffix: ''
Build_DropSuffix_Release_x64:
_BuildConfig: Release
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: ''
_DropSuffix: true
${{ if ne(variables['System.TeamProject'], 'public') }}:
Build_Release_x86:
_BuildConfig: Release
_BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: ''
_DropSuffix: ''
Build_Release_x64:
_BuildConfig: Release
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: ''
_DropSuffix: ''
Build_ES_Debug_x64:
_BuildConfig: Debug
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: es
_DropSuffix: ''
Build_DropSuffix_Release_x64:
_BuildConfig: Release
_BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: ''
_DropSuffix: true
Build_Release_arm:
_BuildConfig: Release
_BuildArchitecture: arm
@ -45,92 +66,151 @@ phases:
name: Hosted Ubuntu 1604
parallel: 99
matrix:
Build_Ubuntu_14_04_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker ubuntu.14.04'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Ubuntu_16_04_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker ubuntu.16.04'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Ubuntu_18_04_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker ubuntu.18.04'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
_AdditionalBuildParameters: '-p:DisableSourceLink=true'
Build_Fedora_27_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker fedora.27'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_OpenSUSE_42_3_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker opensuse.42.3'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_CentOS_7_1_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker centos'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Debian_8_2_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker debian'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Rhel_7_2_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker rhel'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Rhel_6_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker rhel.6'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id rhel.6-x64'
_BuildArchitecture: 'x64'
_DropSuffix: ''
_AdditionalBuildParameters: '-p:DisableSourceLink=true'
Build_Arm_Debug:
_BuildConfig: Debug
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'arm'
_DropSuffix: ''
Build_Arm64_Debug:
_BuildConfig: Debug
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'arm64'
_DropSuffix: ''
Build_Linux_musl_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker alpine.3.6'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-musl-x64'
_BuildArchitecture: 'x64'
_DropSuffix: ''
${{ if eq(variables['System.TeamProject'], 'public') }}:
Build_Ubuntu_14_04_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker ubuntu.14.04'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Ubuntu_16_04_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker ubuntu.16.04'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Ubuntu_18_04_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker ubuntu.18.04'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
_AdditionalBuildParameters: '-p:DisableSourceLink=true'
Build_Fedora_27_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker fedora.27'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_OpenSUSE_42_3_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker opensuse.42.3'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_CentOS_7_1_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker centos'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Debian_8_2_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker debian'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Rhel_7_2_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker rhel'
_LinuxPortable: ''
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Rhel_6_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker rhel.6'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id rhel.6-x64'
_BuildArchitecture: 'x64'
_DropSuffix: ''
_AdditionalBuildParameters: '-p:DisableSourceLink=true'
Build_Arm_Debug:
_BuildConfig: Debug
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'arm'
_DropSuffix: ''
Build_Arm64_Debug:
_BuildConfig: Debug
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'arm64'
_DropSuffix: ''
Build_Linux_musl_Debug_x64:
_BuildConfig: Debug
_DockerParameter: '--docker alpine.3.6'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-musl-x64'
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_LinuxPortable_NoSuffix_Release_x64:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: true
Build_Arm_NoSuffix_Release:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'arm'
_DropSuffix: true
${{ if ne(variables['System.TeamProject'], 'public') }}:
Build_Rhel_6_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker rhel.6'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id rhel.6-x64'
_BuildArchitecture: 'x64'
_DropSuffix: ''
_AdditionalBuildParameters: '-p:DisableSourceLink=true'
Build_Arm_Release:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'arm'
_DropSuffix: ''
Build_Arm64_Release:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'arm64'
_DropSuffix: ''
Build_Linux_musl_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker alpine.3.6'
_LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-musl-x64'
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Linux_Portable_Deb_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker ubuntu.16.04'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_Linux_Portable_Rpm_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker rhel'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_LinuxPortable_Release_x64:
_BuildConfig: Release
_DockerParameter: ''
@ -138,20 +218,6 @@ phases:
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
Build_LinuxPortable_NoSuffix_Release_x64:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: true
Build_Arm_NoSuffix_Release:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'arm'
_DropSuffix: true
- template: /eng/build.yml
parameters:
@ -161,3 +227,20 @@ phases:
matrix:
Build_Release:
_BuildConfig: Release
# - template: /eng/build.yml
# parameters:
# agentOs: FreeBSD
# queue:
# name: Some FreeBSD queue
# matrix:
# Build_Release:
# _BuildConfig: Release
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/common/templates/phases/publish-build-assets.yml
parameters:
dependsOn:
- Windows_NT
queue:
name: Hosted VS2017

26
eng/Publish.props Normal file
View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the MIT license. See License.txt in the project root for full license information. -->
<Project>
<PropertyGroup>
<Product>Sdk</Product>
<BlobStoragePartialRelativePath>$(Product)</BlobStoragePartialRelativePath>
<BlobStoragePartialRelativePath Condition="'$(IsNotOrchestratedPublish)' == 'false'">assets/$(Product)</BlobStoragePartialRelativePath>
</PropertyGroup>
<ItemGroup>
<SdkAssetsToPublish Include="$(ArtifactsShippingPackagesDir)*.zip" />
<SdkAssetsToPublish Include="$(ArtifactsShippingPackagesDir)*.tar.gz" />
<SdkAssetsToPublish Include="$(ArtifactsShippingPackagesDir)*.pkg" />
<SdkAssetsToPublish Include="$(ArtifactsShippingPackagesDir)*.exe" />
<SdkAssetsToPublish Include="$(ArtifactsShippingPackagesDir)*.deb" />
<SdkAssetsToPublish Include="$(ArtifactsShippingPackagesDir)*.rpm" />
<SdkAssetsToPublish Include="$(ArtifactsShippingPackagesDir)*.msi" />
<ItemsToPushToBlobFeed Include="@(SdkAssetsToPublish)" IsShipping="true" >
<RelativeBlobPath>$(BlobStoragePartialRelativePath)/$(Version)/$([System.String]::Copy('%(Filename)%(Extension)').Replace('\' ,'/'))</RelativeBlobPath>
<ManifestArtifactData>ShipInstaller=dotnetcli</ManifestArtifactData>
</ItemsToPushToBlobFeed>
</ItemGroup>
</Project>

View file

@ -18,11 +18,25 @@ phases:
_HelixBuildConfig: $(_BuildConfig)
BuildConfig: $(_BuildConfig)
BuildArchitecture: $(_BuildArchitecture)
_HelixSource: pr/dotnet/core-sdk/$(Build.SourceBranch)
DockerParameter: $(_DockerParameter)
LinuxPortable: $(_LinuxPortable)
RuntimeId: $(_RuntimeIdentifier)
AdditionalBuildParameters: $(_AdditionalBuildParameters)
${{ if eq(variables['System.TeamProject'], 'public') }}:
_HelixSource: pr/dotnet/core-sdk/$(Build.SourceBranch)
_OfficialBuildIdArgs: ''
_PublishArgs: ''
_SignArgs: ''
${{ if ne(variables['System.TeamProject'], 'public') }}:
_HelixSource: official/dotnet/core-sdk/$(Build.SourceBranch)
_OfficialBuildIdArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
_PublishArgs: /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
/p:DotNetPublishBlobFeedUrl=$(PB_PublishBlobFeedUrl)
/p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
/p:PB_PublishType=$(_PublishType)
_SignArgs: /p:DotNetSignType=$(_SignType) /p:TeamName=$(_TeamName)
steps:
- script: 'eng\setbuildinfo.bat $(BuildArchitecture) $(BuildConfig)'
@ -37,12 +51,30 @@ phases:
displayName: Show RunTests
- script: 'echo AdditionalBuildParameters: $(AdditionalBuildParameters)'
displayName: Show AdditionalBuildParameters
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- task: AzureKeyVault@1
inputs:
azureSubscription: 'DotNet-Engineering-Services_KeyVault'
KeyVaultName: EngKeyVault
SecretsFilter: 'dotnetfeed-storage-access-key-1,microsoft-symbol-server-pat,symweb-symbol-server-pat'
condition: succeeded()
- task: AzureKeyVault@1
inputs:
azureSubscription: 'HelixProd_KeyVault'
KeyVaultName: HelixProdKV
SecretsFilter: 'HelixApiAccessToken'
condition: always()
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
- script: build.cmd
$(TestParameter)
-pack -publish
-Configuration $(BuildConfig)
-Architecture $(BuildArchitecture)
$(_PublishArgs)
$(_SignArgs)
$(_OfficialBuildIdArgs)
$(AdditionalBuildParameters)
displayName: Build
env:
@ -59,6 +91,9 @@ phases:
--architecture $(BuildArchitecture)
$(LinuxPortable)
$(RuntimeId)
$(_PublishArgs)
$(_SignArgs)
$(_OfficialBuildIdArgs)
$(AdditionalBuildParameters)
displayName: Build
env:
@ -70,6 +105,9 @@ phases:
--pack --publish
--noprettyprint
--configuration $(BuildConfig)
$(_PublishArgs)
$(_SignArgs)
$(_OfficialBuildIdArgs)
displayName: Build
- task: PublishTestResults@1