0b380204a4
Former-commit-id: 7a84ce7d08c42c458ac8e74b27186ca863315d79
133 lines
5.3 KiB
YAML
133 lines
5.3 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:
|
|
- name: _DotNetArtifactsCategory
|
|
value: .NETCore
|
|
- ${{ if eq(variables.officialBuild, 'true') }}:
|
|
- name: _BuildArgs
|
|
value: ${{ format('{0} /p:OfficialBuildId=$(Build.BuildNumber) /p:Test=false /p:IntegrationTest=false', variables['_BuildArgs']) }}
|
|
# Provide HelixApiAccessToken for telemetry
|
|
- group: DotNet-HelixApi-Access
|
|
|
|
stages:
|
|
- stage: build
|
|
displayName: Build
|
|
jobs:
|
|
- template: /eng/common/templates/jobs/jobs.yml
|
|
parameters:
|
|
|
|
enableTelemetry: true # send helix telemetry
|
|
helixRepo: mono/linker
|
|
enablePublishUsingPipelines: true
|
|
enablePublishBuildArtifacts: true # publish build logs to pipeline storage
|
|
enablePublishTestResults: true
|
|
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)
|
|
/p:DotNetArtifactsCategory=$(_DotNetArtifactsCategory)
|
|
/p:DotNetPublishUsingPipelines=true
|
|
- 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)
|
|
-integrationTest
|
|
-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)
|
|
|
|
- ${{ if eq(variables.officialBuild, 'false') }}:
|
|
- job: Linux
|
|
condition: eq(variables.officialBuild, 'false')
|
|
pool:
|
|
name: Hosted Ubuntu 1604
|
|
steps:
|
|
- checkout: self
|
|
submodules: true
|
|
- script: eng/common/cibuild.sh --projects $(Build.SourcesDirectory)/illink.sln
|
|
--configuration $(_BuildConfig) $(_BuildArgs)
|
|
--integrationTest
|
|
--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)
|
|
|
|
- ${{ if eq(variables.officialBuild, 'false') }}:
|
|
- job: macOS
|
|
pool:
|
|
name: Hosted MacOS
|
|
steps:
|
|
- checkout: self
|
|
submodules: true
|
|
- script: eng/common/cibuild.sh --projects $(Build.SourcesDirectory)/illink.sln
|
|
--configuration $(_BuildConfig) $(_BuildArgs)
|
|
--integrationTest
|
|
--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)
|
|
|
|
- ${{ if eq(variables.officialBuild, 'false') }}:
|
|
- job: Linux_Mono
|
|
pool:
|
|
name: Hosted Ubuntu 1604
|
|
steps:
|
|
- checkout: self
|
|
submodules: true
|
|
- script: |
|
|
mono --version
|
|
make -C monobuild CONFIGURATION=$(_BuildConfig)
|
|
displayName: Build and test
|
|
- task: PublishTestResults@2
|
|
inputs:
|
|
testResultsFormat: 'NUnit'
|
|
testResultsFiles: 'test/Mono.Linker.Tests/TestResults.xml'
|
|
|
|
# Post-Build Arcade logic
|
|
- ${{ if eq(variables.officialBuild, 'true') }}:
|
|
- template: /eng/common/templates/post-build/post-build.yml
|
|
|