linux-packaging-mono/external/linker/eng/azure-pipelines.yml
Xamarin Public Jenkins (auto-signing) 73ee7591e8 Imported Upstream version 6.8.0.73
Former-commit-id: d18deab1b47cfd3ad8cba82b3f37d00eec2170af
2019-12-10 18:00:56 +00:00

101 lines
4.1 KiB
YAML

trigger:
batch: true
branches:
include:
- master
- release/*
variables:
- name: officialBuild
value: ${{ and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}
- name: _BuildConfig
value: Release
- name: _BuildArgs
value: /p:ArcadeBuild=true
- ${{ if eq(variables.officialBuild, 'true') }}:
- name: _BuildArgs
value: ${{ format('{0} /p:OfficialBuildId=$(Build.BuildNumber)', variables['_BuildArgs']) }}
# Provide HelixApiAccessToken for telemetry
- group: DotNet-HelixApi-Access
jobs:
- template: /eng/common/templates/jobs/jobs.yml
parameters:
enableTelemetry: true # send helix telemetry
helixRepo: mono/linker
enablePublishBuildArtifacts: true # publish build logs to pipeline storage
# enablePublishTestResults
enablePublishBuildAssets: true # generate build manifests and publish to BAR in internal builds
enableMicrobuild: true # only affects internal builds
jobs:
- job: Windows_NT
pool:
${{ if eq(variables.officialBuild, 'false') }}:
name: Hosted VS2017
${{ if eq(variables.officialBuild, 'true') }}:
name: NetCoreInternal-Pool
queue: BuildPool.Windows.10.Amd64.VS2017
variables:
- ${{ if eq(variables.officialBuild, 'false') }}:
- _SignType: test
- _PublishArgs: ''
- ${{ if eq(variables.officialBuild, 'true') }}:
- group: DotNet-Blob-Feed
- _TeamName: .NET # required by microbuild install step
- _SignType: real # used in the arcade templates that install microbuild.
- _DotNetPublishToBlobFeed: true # used by arcade templates that gather build asset manifests
- _PublishArgs: /p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
/p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
/p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
- DotNetSignType: ${{ format('{0}', variables._SignType) }} # DotNetSignType defaults to real if not specified
steps:
- checkout: self
submodules: true
- script: eng\common\cibuild.cmd -projects $(Build.SourcesDirectory)\illink.sln
-configuration $(_BuildConfig) $(_BuildArgs) $(_PublishArgs)
-warnAsError "$false"
-nodeReuse "$false" # https://github.com/Microsoft/vstest/issues/1503
env:
# https://github.com/Microsoft/vstest/issues/1503#issuecomment-410732193
MSBUILDENSURESTDOUTFORTASKPROCESSES: 1
${{ if eq(variables.officialBuild, 'false') }}:
displayName: Build illink.sln $(_BuildConfig)
${{ if eq(variables.officialBuild, 'true') }}:
displayName: Build and publish illink.sln $(_BuildConfig)
- job: Linux
pool:
name: Hosted Ubuntu 1604
steps:
- checkout: self
submodules: true
- script: eng/common/cibuild.sh --projects $(Build.SourcesDirectory)/illink.sln
--configuration $(_BuildConfig) $(_BuildArgs)
--warnAsError false
--nodeReuse false # https://github.com/Microsoft/vstest/issues/1503
env:
# https://github.com/Microsoft/vstest/issues/1503#issuecomment-410732193
MSBUILDENSURESTDOUTFORTASKPROCESSES: 1
displayName: Build illink.sln $(_BuildConfig)
- job: macOS
pool:
${{ if eq(variables.officialBuild, 'false') }}:
name: Hosted MacOS
${{ if eq(variables.officialBuild, 'true') }}:
name: Hosted Mac Internal
steps:
- checkout: self
submodules: true
- script: eng/common/cibuild.sh --projects $(Build.SourcesDirectory)/illink.sln
--configuration $(_BuildConfig) $(_BuildArgs)
--warnAsError false
--nodeReuse false # https://github.com/Microsoft/vstest/issues/1503
env:
# https://github.com/Microsoft/vstest/issues/1503#issuecomment-410732193
MSBUILDENSURESTDOUTFORTASKPROCESSES: 1
displayName: Build illink.sln $(_BuildConfig)