206 строки
7.5 KiB
YAML
206 строки
7.5 KiB
YAML
trigger:
|
|
- master
|
|
|
|
variables:
|
|
- name: TeamName
|
|
value: dotnet-core-acquisition
|
|
# Skip Running CI tests
|
|
- name: SkipTests
|
|
value: false
|
|
# Set build as stable to remove build number from package names, used for milestone builds
|
|
- name: IsStable
|
|
value: false
|
|
# Set Official Build Id
|
|
- name: OfficialBuildId
|
|
value: $(Build.BuildNumber)
|
|
# Produce Test build for PR and Public builds
|
|
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
|
|
- name: SignType
|
|
value: test
|
|
# Set variables only for Official build from internal
|
|
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
|
- name: SignType
|
|
value: real
|
|
# Variable groups
|
|
- group: DotNet-Blob-Feed
|
|
- group: DotNet-Symbol-Server-Pats
|
|
# Used for publishing individual leg assets to azure blobstorage
|
|
- group: DotNet-DotNetCli-Storage
|
|
# Used for publishing to myget
|
|
- group: DotNet-MyGet-Publish
|
|
# Used for dotnet/versions update
|
|
- group: DotNet-Versions-Publish
|
|
|
|
# BlobFeed update
|
|
- name: _PublishBlobFeedUrl
|
|
value: https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
|
|
- name: _BlobFeedArgs
|
|
value: /p:PackagesUrl=$(_PublishBlobFeedUrl)
|
|
/p:SymbolPackagesUrl=$(_PublishBlobFeedUrl)
|
|
/p:TransportFeedAccessToken=$(dotnetfeed-storage-access-key-1)
|
|
|
|
- name: _DotNetVersionsArgs
|
|
value: >-
|
|
/p:GitHubUser=dotnet-build-bot
|
|
/p:GitHubEmail=dotnet-build-bot@microsoft.com
|
|
/p:GitHubAuthToken=$(AccessToken-dotnet-build-bot-public-repo)
|
|
/p:VersionsRepoOwner=dotnet
|
|
/p:VersionsRepo=versions
|
|
/p:VersionsRepoPath=build-info/dotnet/core-setup/$(FullBranchName)
|
|
|
|
# Symbol Server update
|
|
- name: _SymbolServerPath
|
|
value: https://microsoftpublicsymbols.artifacts.visualstudio.com/DefaultCollection
|
|
- name: _SymbolServerArgs
|
|
value: /p:SymbolServerPath=$(_SymbolServerPath)
|
|
/p:SymbolServerPAT=$(microsoft-symbol-server-pat)
|
|
/p:SymbolExpirationInDays=365
|
|
|
|
# ******** Official values *****
|
|
- name: _CommonPublishArgs
|
|
value: /p:AzureAccountName=dotnetcli
|
|
/p:ContainerName=dotnet
|
|
/p:AzureAccessToken=$(dotnetcli-storage-key)
|
|
/p:ChecksumAzureAccountName=dotnetclichecksums
|
|
/p:ChecksumContainerName=dotnet
|
|
/p:ChecksumAzureAccessToken=$(dotnetclichecksums-storage-key)
|
|
# Used for publishing to dotnet myget account
|
|
- name: MyGetApiKey
|
|
value: $(dotnet-myget-org-api-key)
|
|
- name: MyGetFeedUrl
|
|
value: https://dotnet.myget.org/F/dotnet-core/api/v2/package
|
|
- name: MyGetSymbolsFeedUrl
|
|
value: https://dotnet.myget.org/F/dotnet-core/symbols/api/v2/package
|
|
- name: _NugetFeedArgs
|
|
value: /p:NuGetFeedUrl=$(MyGetFeedUrl)
|
|
/p:NuGetSymbolsFeedUrl=$(MyGetSymbolsFeedUrl)
|
|
/p:NuGetApiKey=$(MyGetApiKey)
|
|
|
|
jobs:
|
|
################################################################################
|
|
# Build Bash legs (Linux and FreeBSD)
|
|
################################################################################
|
|
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
|
|
- template: /eng/jobs/bash-build.yml
|
|
parameters:
|
|
displayName: Build_FreeBSD_x64
|
|
disableCrossgen: true
|
|
osGroup: FreeBSD
|
|
portableBuild: true
|
|
skipTests: true
|
|
targetArchitecture: x64
|
|
|
|
- template: /eng/jobs/bash-build.yml
|
|
parameters:
|
|
crossBuild: true
|
|
displayName: Build_Linux_Arm
|
|
dockerImage: microsoft/dotnet-buildtools-prereqs:ubuntu-14.04-cross-e435274-20180323032140
|
|
additionalRunArgs: -e ROOTFS_DIR=/crossrootfs/arm
|
|
portableBuild: true
|
|
skipTests: true
|
|
targetArchitecture: arm
|
|
|
|
- template: /eng/jobs/bash-build.yml
|
|
parameters:
|
|
crossBuild: true
|
|
displayName: Build_Linux_Arm64
|
|
dockerImage: microsoft/dotnet-buildtools-prereqs:ubuntu-16.04-cross-arm64-a3ae44b-20180316023254
|
|
additionalRunArgs: -e ROOTFS_DIR=/crossrootfs/arm64
|
|
portableBuild: true
|
|
skipTests: true
|
|
targetArchitecture: arm64
|
|
|
|
# # Tizen build only for PR build
|
|
# - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
|
# - template: /eng/jobs/bash-build.yml
|
|
# parameters:
|
|
# additionalMSBuildArgs: /p:OverridePackageSource=https:%2F%2Ftizen.myget.org/F/dotnet-core/api/v3/index.json /p:OutputRid=tizen.5.0.0-armel
|
|
# additionalRunArgs: -e ROOTFS_DIR=/crossrootfs/armel.tizen.build
|
|
# crossBuild: true
|
|
# displayName: Build_Linux_ArmRel_Tizen
|
|
# disableCrossgen: true
|
|
# dockerImage: tizendotnet/dotnet-buildtools-prereqs:ubuntu-16.04-cross-e435274-20180426002255-tizen-rootfs-5.0m1
|
|
# portableBuild: false
|
|
# skipTests: true
|
|
# targetArchitecture: armel
|
|
|
|
- template: /eng/jobs/bash-build.yml
|
|
parameters:
|
|
additionalMSBuildArgs: /p:OutputRid=linux-musl-x64
|
|
displayName: Build_Linux_x64_Alpine36
|
|
dockerImage: microsoft/dotnet-buildtools-prereqs:alpine-3.6-3148f11-20171119021156
|
|
portableBuild: false
|
|
targetArchitecture: x64
|
|
|
|
- template: /eng/jobs/bash-build.yml
|
|
parameters:
|
|
displayName: Build_Linux_x64_glibc
|
|
dockerImage: microsoft/dotnet-buildtools-prereqs:centos-7-d485f41-20173404063424
|
|
packageDistroListDeb: [debian.8,debian.9,ubuntu.16.04,ubuntu.18.04]
|
|
packageDistroListRpm: [centos.7,fedora.27,opensuse.42,oraclelinux.7,sles.12]
|
|
portableBuild: true
|
|
targetArchitecture: x64
|
|
|
|
- template: /eng/jobs/bash-build.yml
|
|
parameters:
|
|
additionalMSBuildArgs: /p:OutputRid=rhel.6-x64
|
|
displayName: Build_Linux_x64_Rhel6
|
|
dockerImage: microsoft/dotnet-buildtools-prereqs:centos-6-376e1a3-20174311014331
|
|
portableBuild: false
|
|
targetArchitecture: x64
|
|
|
|
################################################################################
|
|
# Build Build_OSX leg
|
|
################################################################################
|
|
- template: /eng/jobs/osx-build.yml
|
|
|
|
################################################################################
|
|
# Build Windows legs
|
|
################################################################################
|
|
|
|
# Windows Arm
|
|
- template: /eng/jobs/windows-build.yml
|
|
parameters:
|
|
displayName: Build_Windows_Arm
|
|
skipTests: true
|
|
targetArchitecture: arm
|
|
|
|
# Windows Arm64
|
|
- template: /eng/jobs/windows-build.yml
|
|
parameters:
|
|
displayName: Build_Windows_Arm64
|
|
skipTests: true
|
|
targetArchitecture: arm64
|
|
|
|
# Windows x64
|
|
- template: /eng/jobs/windows-build.yml
|
|
parameters:
|
|
buildFullPlatformManifest: true
|
|
displayName: Build_Windows_x64
|
|
publishRidAgnosticPackages: true
|
|
targetArchitecture: x64
|
|
|
|
# Windows x86
|
|
- template: /eng/jobs/windows-build.yml
|
|
parameters:
|
|
displayName: Build_Windows_x86
|
|
targetArchitecture: x86
|
|
|
|
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
|
################################################################################
|
|
# Finalize build publish
|
|
# publish nuget packages to blobfeed, symbolserver, and myget
|
|
################################################################################
|
|
- template: /eng/jobs/finalize-publish.yml
|
|
parameters:
|
|
_PublishType: nopublishtype
|
|
|
|
################################################################################
|
|
# Publish to B.A.R
|
|
################################################################################
|
|
- template: /eng/common/templates/job/publish-build-assets.yml
|
|
parameters:
|
|
pool:
|
|
name: dotnet-internal-temp
|
|
dependsOn:
|
|
- Finalize_Publish |