dotnet-installer/.vsts-ci.yml
2019-01-03 10:25:50 -08:00

286 lines
10 KiB
YAML

trigger:
- master
variables:
_TeamName: Roslyn-Project-System
${{ if eq(variables['System.TeamProject'], 'public') }}:
PB_PublishBlobFeedKey:
PB_PublishBlobFeedUrl:
PB_PublishChecksumsBlobFeedUrl:
_DotNetPublishToBlobFeed: false
_PublishType: none
_SignType: test
${{ if ne(variables['System.TeamProject'], 'public') }}:
PB_PublishBlobFeedUrl: https://dotnetcli.blob.core.windows.net/dotnet/index.json
PB_PublishChecksumsBlobFeedUrl: https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json
_DotNetPublishToBlobFeed: true
_PublishType: blob
_SignType: real
jobs:
- template: /eng/build.yml
parameters:
agentOs: Windows_NT
queue:
${{ if eq(variables['System.TeamProject'], 'public') }}:
name: dotnet-external-temp
${{ if ne(variables['System.TeamProject'], 'public') }}:
name: dotnet-internal-temp
timeoutInMinutes: 180
parallel: 99
matrix:
${{ 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_Release_arm:
_BuildConfig: Release
_BuildArchitecture: arm
_DOTNET_CLI_UI_LANGUAGE: ''
_DropSuffix: ''
_AdditionalBuildParameters: '/p:DisableSourceLink=true'
- template: /eng/build.yml
parameters:
agentOs: Linux
queue:
name: Hosted Ubuntu 1604
timeoutInMinutes: 180
parallel: 99
matrix:
${{ 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: ''
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: ''
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: ''
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
_AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
Build_Linux_Portable_Rpm_Release_x64:
_BuildConfig: Release
_DockerParameter: '--docker rhel'
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
# Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64
_AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
Build_LinuxPortable_Release_x64:
_BuildConfig: Release
_DockerParameter: ''
_LinuxPortable: '--linux-portable'
_RuntimeIdentifier: ''
_BuildArchitecture: 'x64'
_DropSuffix: ''
- template: /eng/build.yml
parameters:
agentOs: Darwin
queue:
name: Hosted macOS
timeoutInMinutes: 180
matrix:
Build_Release:
_BuildConfig: Release
- template: /eng/build.yml
parameters:
agentOs: FreeBSD
queue:
name: dnceng-freebsd-internal
timeoutInMinutes: 180
matrix:
Build_Release:
_BuildConfig: Release
_AdditionalBuildParameters: '/p:DisableSourceLink=true /p:DISABLE_CROSSGEN=true'
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- job: Copy_SDK_To_Latest
dependsOn:
- Windows_NT
- Linux
- Darwin
pool:
name: Hosted VS2017
condition: succeeded()
steps:
- task: AzureKeyVault@1
inputs:
azureSubscription: 'DotNet-Engineering-Services_KeyVault'
KeyVaultName: EngKeyVault
SecretsFilter: 'dotnetcli-storage-key,dotnetclichecksums-storage-key'
condition: succeeded()
- script: eng/CopyToLatest.cmd
/p:DotnetPublishSdkAssetsBlobFeedUrl=$(PB_PublishBlobFeedUrl)
/p:DotNetPublishSdkAssetsBlobFeedKey=$(dotnetcli-storage-key)
/p:DotnetPublishChecksumsBlobFeedUrl=$(PB_PublishChecksumsBlobFeedUrl)
/p:DotNetPublishChecksumsBlobFeedKey=$(dotnetclichecksums-storage-key)
displayName: Copy to latest
# - ${{ 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
# - Linux
# - Darwin
# - Copy_SDK_To_Latest
# queue:
# name: Hosted VS2017
# timeoutInMinutes: 180