Remove set build info and do not run tests in official builds (#7286)

* Remoe unneeded parameters from build
Removes a bunch of old unused parameters and adds _AdditionalParameters to the whole matrix so AzDO doesn't throw out noisy warnings

* Do not run tests in official builds and cleanup build infra a bit
- Do not run the tests in official builds (build time improvement)
- Remove setbuildinfo.* and make parameters explicit.
- Remove a bunch of unused parameters
This commit is contained in:
Matt Mitchell 2020-04-27 08:53:02 -07:00 committed by GitHub
parent 70f407b2fc
commit a03aed0acc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 54 additions and 85 deletions

View file

@ -7,16 +7,12 @@ trigger:
- internal/release/3.* - internal/release/3.*
variables: variables:
# These two variables are used by CopyToLatest.
# when CopyToLatest goes away in favor of improvements to dotnet-install, this can be removed.
- name: _PublishBlobFeedUrl - name: _PublishBlobFeedUrl
value: https://dotnetcli.blob.core.windows.net/dotnet/index.json value: https://dotnetcli.blob.core.windows.net/dotnet/index.json
- name: _PublishChecksumsBlobFeedUrl - name: _PublishChecksumsBlobFeedUrl
value: https://dotnetclichecksums.blob.core.windows.net/dotnet/index.json 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 - name: _PublishUsingPipelines
value: false value: false
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
@ -26,6 +22,17 @@ variables:
- name: _PublishUsingPipelines - name: _PublishUsingPipelines
value: true value: true
# Default to running tests in PRs and public CI, but not in official builds
- name: _WindowsTestArg
value: '-test'
- name: _NonWindowsTestArg
value: '--test'
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- name: _WindowsTestArg
value: ''
- name: _NonWindowsTestArg
value: ''
stages: stages:
- stage: build - stage: build
jobs: jobs:
@ -47,32 +54,43 @@ stages:
_BuildConfig: Debug _BuildConfig: Debug
_BuildArchitecture: x86 _BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: '' _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
_TestArg: $(_WindowsTestArg)
Build_ES_Debug_x64: Build_ES_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_BuildArchitecture: x64 _BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: es _DOTNET_CLI_UI_LANGUAGE: es
_AdditionalBuildParameters: ''
_TestArg: $(_WindowsTestArg)
# Internal-only builds # Internal-only builds
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
Build_Release_x86: Build_Release_x86:
_BuildConfig: Release _BuildConfig: Release
_BuildArchitecture: x86 _BuildArchitecture: x86
_DOTNET_CLI_UI_LANGUAGE: '' _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
_TestArg: $(_WindowsTestArg)
# Always run builds # Always run builds
Build_Release_x64: Build_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_BuildArchitecture: x64 _BuildArchitecture: x64
_DOTNET_CLI_UI_LANGUAGE: '' _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: '/p:PublishInternalAsset=true _AdditionalBuildParameters: '/p:PublishInternalAsset=true'
/p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1) _TestArg: $(_WindowsTestArg)
/p:DotNetPublishBlobFeedUrl=$(_ArcadePublishBlobFeedUrl)'
Build_Release_arm: Build_Release_arm:
_BuildConfig: Release _BuildConfig: Release
_BuildArchitecture: arm _BuildArchitecture: arm
_DOTNET_CLI_UI_LANGUAGE: '' _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
Build_Release_arm64: Build_Release_arm64:
_BuildConfig: Release _BuildConfig: Release
_BuildArchitecture: arm64 _BuildArchitecture: arm64
_DOTNET_CLI_UI_LANGUAGE: '' _DOTNET_CLI_UI_LANGUAGE: ''
_AdditionalBuildParameters: ''
# Never run tests on arm64
_TestArg: ''
- template: /eng/build.yml - template: /eng/build.yml
parameters: parameters:
@ -94,54 +112,65 @@ stages:
_LinuxPortable: '' _LinuxPortable: ''
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Ubuntu_18_04_Debug_x64: Build_Ubuntu_18_04_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '--docker ubuntu.18.04' _DockerParameter: '--docker ubuntu.18.04'
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Fedora_29_Debug_x64: Build_Fedora_29_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '--docker fedora.29' _DockerParameter: '--docker fedora.29'
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_CentOS_7_1_Debug_x64: Build_CentOS_7_1_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '--docker centos' _DockerParameter: '--docker centos'
_LinuxPortable: '' _LinuxPortable: ''
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Debian_Stretch_Debug_x64: Build_Debian_Stretch_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '--docker debian' _DockerParameter: '--docker debian'
_LinuxPortable: '' _LinuxPortable: ''
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Rhel_7_2_Release_x64: Build_Rhel_7_2_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_DockerParameter: '--docker rhel' _DockerParameter: '--docker rhel'
_LinuxPortable: '' _LinuxPortable: ''
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
Build_Arm_Debug: Build_Arm_Debug:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '' _DockerParameter: ''
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '--runtime-id linux-arm' _RuntimeIdentifier: '--runtime-id linux-arm'
_BuildArchitecture: 'arm' _BuildArchitecture: 'arm'
# Never run tests on arm64
_TestArg: ''
Build_Arm64_Debug: Build_Arm64_Debug:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '' _DockerParameter: ''
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '--runtime-id linux-arm64' _RuntimeIdentifier: '--runtime-id linux-arm64'
_BuildArchitecture: 'arm64' _BuildArchitecture: 'arm64'
# Never run tests on arm64
_TestArg: ''
Build_Linux_musl_Debug_x64: Build_Linux_musl_Debug_x64:
_BuildConfig: Debug _BuildConfig: Debug
_DockerParameter: '--docker alpine.3.6' _DockerParameter: '--docker alpine.3.6'
_LinuxPortable: '' _LinuxPortable: ''
_RuntimeIdentifier: '--runtime-id linux-musl-x64' _RuntimeIdentifier: '--runtime-id linux-musl-x64'
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
Build_Arm_Release: Build_Arm_Release:
_BuildConfig: Release _BuildConfig: Release
@ -149,12 +178,16 @@ stages:
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '--runtime-id linux-arm' _RuntimeIdentifier: '--runtime-id linux-arm'
_BuildArchitecture: 'arm' _BuildArchitecture: 'arm'
# Never run tests on arm64
_TestArg: ''
Build_Arm64_Release: Build_Arm64_Release:
_BuildConfig: Release _BuildConfig: Release
_DockerParameter: '' _DockerParameter: ''
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '--runtime-id linux-arm64' _RuntimeIdentifier: '--runtime-id linux-arm64'
_BuildArchitecture: 'arm64' _BuildArchitecture: 'arm64'
# Never run tests on arm64
_TestArg: ''
Build_Linux_musl_Release_x64: Build_Linux_musl_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_DockerParameter: '--docker alpine.3.6' _DockerParameter: '--docker alpine.3.6'
@ -170,6 +203,7 @@ stages:
# Do not publish zips and tarballs. The linux-x64 binaries are # Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64 # already published by Build_LinuxPortable_Release_x64
_AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false' _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
_TestArg: $(_NonWindowsTestArg)
Build_Linux_Portable_Rpm_Release_x64: Build_Linux_Portable_Rpm_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_DockerParameter: '--docker rhel' _DockerParameter: '--docker rhel'
@ -179,12 +213,14 @@ stages:
# Do not publish zips and tarballs. The linux-x64 binaries are # Do not publish zips and tarballs. The linux-x64 binaries are
# already published by Build_LinuxPortable_Release_x64 # already published by Build_LinuxPortable_Release_x64
_AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false' _AdditionalBuildParameters: '/p:PublishBinariesAndBadge=false'
_TestArg: $(_NonWindowsTestArg)
Build_LinuxPortable_Release_x64: Build_LinuxPortable_Release_x64:
_BuildConfig: Release _BuildConfig: Release
_DockerParameter: '' _DockerParameter: ''
_LinuxPortable: '--linux-portable' _LinuxPortable: '--linux-portable'
_RuntimeIdentifier: '' _RuntimeIdentifier: ''
_BuildArchitecture: 'x64' _BuildArchitecture: 'x64'
_TestArg: $(_NonWindowsTestArg)
- template: /eng/build.yml - template: /eng/build.yml
parameters: parameters:
@ -196,6 +232,7 @@ stages:
matrix: matrix:
Build_Release: Build_Release:
_BuildConfig: Release _BuildConfig: Release
_TestArg: $(_NonWindowsTestArg)
# https://github.com/dotnet/core-sdk/issues/248 # https://github.com/dotnet/core-sdk/issues/248
# - template: /eng/build.yml # - template: /eng/build.yml

View file

@ -30,7 +30,7 @@ phases:
#enablePublishTestResults: true #enablePublishTestResults: true
enablePublishUsingPipelines: ${{parameters.enablePublishUsingPipelines}} enablePublishUsingPipelines: ${{parameters.enablePublishUsingPipelines}}
enableTelemetry: true enableTelemetry: true
helixRepo: dotnet/core-sdk helixRepo: dotnet/installer
pool: ${{ parameters.pool }} pool: ${{ parameters.pool }}
${{ if ne(parameters.strategy, '') }}: ${{ if ne(parameters.strategy, '') }}:
strategy: ${{ parameters.strategy }} strategy: ${{ parameters.strategy }}
@ -40,8 +40,8 @@ phases:
variables: variables:
- _AgentOSName: ${{ parameters.agentOs }} - _AgentOSName: ${{ parameters.agentOs }}
- _TeamName: Roslyn-Project-System - _TeamName: Roslyn-Project-System
- _BuildArgs: ''
- _SignType: test - _SignType: test
- _BuildArgs: '/p:DotNetSignType=$(_SignType)'
- _DOTNETCLIMSRC_READ_SAS_TOKEN: '' - _DOTNETCLIMSRC_READ_SAS_TOKEN: ''
- ${{ if eq(variables['System.TeamProject'], 'internal') }}: - ${{ if eq(variables['System.TeamProject'], 'internal') }}:
@ -56,15 +56,9 @@ phases:
- _PushToVSFeed: true - _PushToVSFeed: true
- _SignType: real - _SignType: real
- _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER) - _BuildArgs: /p:OfficialBuildId=$(BUILD.BUILDNUMBER)
/p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
/p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
/p:DotNetPublishBlobFeedUrl=$(PB_PublishBlobFeedUrl)
/p:DotnetPublishSdkAssetsBlobFeedUrl=$(_PublishBlobFeedUrl) /p:DotnetPublishSdkAssetsBlobFeedUrl=$(_PublishBlobFeedUrl)
/p:DotNetSymbolServerTokenMsdl=$(microsoft-symbol-server-pat)
/p:DotNetSymbolServerTokenSymWeb=$(symweb-symbol-server-pat)
/p:PB_PublishType=blob
/p:DotnetPublishChecksumsBlobFeedUrl=$(_PublishChecksumsBlobFeedUrl) /p:DotnetPublishChecksumsBlobFeedUrl=$(_PublishChecksumsBlobFeedUrl)
/p:DotNetSignType=real /p:DotNetSignType=$(_SignType)
/p:TeamName=$(_TeamName) /p:TeamName=$(_TeamName)
/p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines) /p:DotNetPublishUsingPipelines=$(_PublishUsingPipelines)
@ -72,8 +66,6 @@ phases:
- checkout: self - checkout: self
clean: true clean: true
- ${{ if eq(parameters.agentOs, 'Windows_NT') }}: - ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
- script: 'eng\setbuildinfo.bat $(_BuildArchitecture) $(_BuildConfig)'
displayName: Set test info (Windows)
- ${{ if ne(variables['System.TeamProject'], 'public') }}: - ${{ if ne(variables['System.TeamProject'], 'public') }}:
- task: PowerShell@2 - task: PowerShell@2
displayName: Setup Private Feeds Credentials displayName: Setup Private Feeds Credentials
@ -83,12 +75,11 @@ phases:
env: env:
Token: $(dn-bot-dnceng-artifact-feeds-rw) Token: $(dn-bot-dnceng-artifact-feeds-rw)
- script: build.cmd - script: build.cmd
$(TestParameter) $(_TestArg)
-pack -publish -ci -pack -publish -ci -sign
-Configuration $(_BuildConfig) -Configuration $(_BuildConfig)
-Architecture $(_BuildArchitecture) -Architecture $(_BuildArchitecture)
$(_BuildArgs) $(_BuildArgs)
$(SignBuildParameters)
$(_AdditionalBuildParameters) $(_AdditionalBuildParameters)
displayName: Build displayName: Build
env: env:
@ -96,8 +87,6 @@ phases:
DOTNETCLIMSRC_READ_SAS_TOKEN: $(_DOTNETCLIMSRC_READ_SAS_TOKEN) DOTNETCLIMSRC_READ_SAS_TOKEN: $(_DOTNETCLIMSRC_READ_SAS_TOKEN)
- ${{ if ne(parameters.agentOs, 'Windows_NT') }}: - ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
- script: 'eng/setbuildinfo.sh $(_BuildArchitecture) $(_BuildConfig)'
displayName: Set test info (Non-Windows)
- ${{ if ne(variables['System.TeamProject'], 'public') }}: - ${{ if ne(variables['System.TeamProject'], 'public') }}:
- task: Bash@3 - task: Bash@3
displayName: Setup Private Feeds Credentials displayName: Setup Private Feeds Credentials
@ -108,7 +97,7 @@ phases:
Token: $(dn-bot-dnceng-artifact-feeds-rw) Token: $(dn-bot-dnceng-artifact-feeds-rw)
- ${{ if eq(parameters.agentOs, 'Linux') }}: - ${{ if eq(parameters.agentOs, 'Linux') }}:
- script: ./build.sh - script: ./build.sh
$(TestParameter) $(_TestArg)
--pack --publish --ci --pack --publish --ci
--noprettyprint --noprettyprint
--configuration $(_BuildConfig) --configuration $(_BuildConfig)
@ -124,7 +113,7 @@ phases:
- ${{ if or(eq(parameters.agentOs, 'Darwin'), eq(parameters.agentOs, 'FreeBSD')) }}: - ${{ if or(eq(parameters.agentOs, 'Darwin'), eq(parameters.agentOs, 'FreeBSD')) }}:
- script: ./build.sh - script: ./build.sh
$(TestParameter) $(_TestArg)
--pack --publish --ci --pack --publish --ci
--noprettyprint --noprettyprint
--configuration $(_BuildConfig) --configuration $(_BuildConfig)
@ -152,7 +141,7 @@ phases:
testRunTitle: '$(_AgentOSName)_$(Agent.JobName)' testRunTitle: '$(_AgentOSName)_$(Agent.JobName)'
platform: '$(BuildPlatform)' platform: '$(BuildPlatform)'
configuration: '$(_BuildConfig)' configuration: '$(_BuildConfig)'
condition: ne(variables['TestParameter'], '') condition: ne(variables['_TestArg'], '')
- task: CopyFiles@2 - task: CopyFiles@2
displayName: Gather Logs displayName: Gather Logs

View file

@ -1,38 +0,0 @@
@echo off
setlocal
set Architecture=%1
set Config=%2
if "%AdditionalBuildParameters%" == "$(_AdditionalBuildParameters)" (
REM Prevent the literal "$(_AdditionalBuildParameters)" to be passed to the build script
ECHO Setting AdditionalBuildParameters to empty
ECHO ##vso[task.setvariable variable=AdditionalBuildParameters]
) ELSE (
ECHO AdditionalBuildParameters is already set to: %AdditionalBuildParameters%
)
if /I "%SYSTEM_TEAMPROJECT%" == "Public" (
ECHO Public CI
SET SignType=test
) ELSE (
ECHO Not public CI
SET SignType=real
)
ECHO ##vso[task.setvariable variable=SignType]%SignType%
IF /I "%Architecture:~0,3%"=="ARM" (
ECHO ARM
ECHO ##vso[task.setvariable variable=TestParameter]
ECHO ##vso[task.setvariable variable=RunTests]false
) ELSE (
ECHO NOT ARM
ECHO ##vso[task.setvariable variable=TestParameter]-test
ECHO ##vso[task.setvariable variable=RunTests]true
)
ECHO ##vso[task.setvariable variable=SignBuildParameters]-sign /p:DotNetSignType=%SignType%

View file

@ -1,19 +0,0 @@
#!/bin/bash
shopt -s nocasematch
if [[ "$1" == ARM* ]]
then
echo "ARM"
echo "##vso[task.setvariable variable=TestParameter]"
echo "##vso[task.setvariable variable=RunTests]false"
else
echo "NOT ARM"
echo "##vso[task.setvariable variable=TestParameter]--test"
echo "##vso[task.setvariable variable=RunTests]true"
fi
if [[ "$AdditionalBuildParameters" == '$(_AdditionalBuildParameters)' ]]
then
echo "##vso[task.setvariable variable=AdditionalBuildParameters]"
fi