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)