trigger: batch: true branches: include: - master - release/* - internal/release/3.* variables: - name: _PublishBlobFeedUrl value: https://dotnetcli.blob.core.windows.net/dotnet/index.json - name: _PublishChecksumsBlobFeedUrl value: https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json - name: _ArcadePublishBlobFeedUrl value: https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json - name: _DotNetArtifactsCategory value: .NETCore - name: _DotNetValidationArtifactsCategory value: .NETCoreValidation - name: _PublishUsingPipelines value: false - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - group: DotNet-DotNetCli-Storage - group: DotNet-Blob-Feed - name: _PublishUsingPipelines value: true stages: - stage: build jobs: - template: /eng/build.yml parameters: agentOs: Windows_NT pool: ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: vmImage: vs2017-win2016 ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: name: NetCoreInternal-Pool queue: buildpool.windows.10.amd64.vs2017 timeoutInMinutes: 180 strategy: matrix: # Public-only builds ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: 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 # Internal-only builds ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: Build_Release_x86: _BuildConfig: Release _BuildArchitecture: x86 _DOTNET_CLI_UI_LANGUAGE: '' _DropSuffix: '' # Always run builds Build_Release_x64: _BuildConfig: Release _BuildArchitecture: x64 _DOTNET_CLI_UI_LANGUAGE: '' _DropSuffix: '' _AdditionalBuildParameters: '/p:PublishInternalAsset=true /p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1) /p:DotNetPublishBlobFeedUrl=$(_ArcadePublishBlobFeedUrl)' Build_Release_arm: _BuildConfig: Release _BuildArchitecture: arm _DOTNET_CLI_UI_LANGUAGE: '' _DropSuffix: '' - template: /eng/build.yml parameters: agentOs: Linux pool: name: Hosted Ubuntu 1604 timeoutInMinutes: 180 strategy: matrix: ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}: 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_29_Debug_x64: _BuildConfig: Debug _DockerParameter: '--docker fedora.29' _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_Stretch_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: '--runtime-id linux-arm' _BuildArchitecture: 'arm' _DropSuffix: '' Build_Arm64_Debug: _BuildConfig: Debug _DockerParameter: '' _LinuxPortable: '--linux-portable' _RuntimeIdentifier: '--runtime-id linux-arm64' _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: '--runtime-id linux-arm' _BuildArchitecture: 'arm' _DropSuffix: true ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: Build_Arm_Release: _BuildConfig: Release _DockerParameter: '' _LinuxPortable: '--linux-portable' _RuntimeIdentifier: '--runtime-id linux-arm' _BuildArchitecture: 'arm' _DropSuffix: '' Build_Arm64_Release: _BuildConfig: Release _DockerParameter: '' _LinuxPortable: '--linux-portable' _RuntimeIdentifier: '--runtime-id linux-arm64' _BuildArchitecture: 'arm64' _DropSuffix: '' Build_Rhel_6_Release_x64: _BuildConfig: Release _DockerParameter: '--docker rhel.6' _LinuxPortable: '' _RuntimeIdentifier: '--runtime-id rhel.6-x64' _BuildArchitecture: 'x64' _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 pool: name: Hosted macOS timeoutInMinutes: 180 strategy: matrix: Build_Release: _BuildConfig: Release # https://github.com/dotnet/core-sdk/issues/248 # - 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')) }}: - template: /eng/common/templates/job/publish-build-assets.yml parameters: dependsOn: - Windows_NT - Linux - Darwin publishUsingPipelines: true pool: vmImage: vs2017-win2016 - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - template: eng\common\templates\post-build\post-build.yml parameters: # Symbol validation isn't being very reliable lately. This should be enabled back # once this issue is resolved: https://github.com/dotnet/arcade/issues/2871 enableSymbolValidation: false # This repo doesn't produce any signed packages. enableSigningValidation: false publishInstallersAndChecksums: true - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest'), not(contains(variables['Build.SourceBranch'], 'refs/heads/internal/'))) }}: - stage: copy_to_latest displayName: Copy to latest dependsOn: - NetCore_Release30_Publish - NetCore_Release31_Publish jobs: - job: Copy_SDK_To_Latest pool: name: Hosted VS2017 condition: succeeded() variables: - group: DotNet-DotNetCli-Storage steps: - script: eng/CopyToLatest.cmd /p:DotnetPublishSdkAssetsBlobFeedUrl=https://dotnetcli.blob.core.windows.net/dotnet/index.json /p:DotNetPublishSdkAssetsBlobFeedKey=$(dotnetcli-storage-key) /p:DotnetPublishChecksumsBlobFeedUrl=https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json /p:DotNetPublishChecksumsBlobFeedKey=$(dotnetclichecksums-storage-key) displayName: Copy to latest