From: Sven Boemer Date: Sat, 15 Dec 2018 01:03:40 +0000 (-0800) Subject: Publish packages in Azure DevOps official build (dotnet/coreclr#21536) X-Git-Tag: submit/tizen/20210909.063632~11030^2~3065 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0ab9e565065080a8400ef1c7723167dab97b00a6;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Publish packages in Azure DevOps official build (dotnet/coreclr#21536) This enables coreclr participation in dependency flow. Commit migrated from https://github.com/dotnet/coreclr/commit/483135b05e853290d6890f9f5f72aa0bb96aca23 --- diff --git a/eng/build-job.yml b/eng/build-job.yml index 98710b4..d8a5f61 100644 --- a/eng/build-job.yml +++ b/eng/build-job.yml @@ -2,7 +2,7 @@ parameters: buildConfig: '' archType: '' osGroup: '' - osGroupName: '' + osIdentifier: '' containerName: '' crossrootfsDir: '' @@ -13,17 +13,39 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: ${{ parameters.archType }} osGroup: ${{ parameters.osGroup }} - osGroupName: ${{ parameters.osGroupName }} + osIdentifier: ${{ parameters.osIdentifier }} # Compute job name from template parameters - name: ${{ format('build_{0}_{1}_{2}', parameters.osGroupName, parameters.archType, parameters.buildConfig) }} - displayName: ${{ format('Build {0} {1} {2}', parameters.osGroupName, parameters.archType, parameters.buildConfig) }} + name: ${{ format('build_{0}_{1}_{2}', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + displayName: ${{ format('Build {0} {1} {2}', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} # Run all steps in the container. # Note that the containers are resources defined in azure-pipelines.yml containerName: ${{ parameters.containerName }} crossrootfsDir: ${{ parameters.crossrootfsDir }} + gatherAssetManifests: true + variables: + - name: osIdentifier + value: ${{ parameters.osIdentifier }} + - name: portableBuildArg + value: '' + # Ensure that we produce os-specific packages for the following distros: + - ${{ if in(parameters.osIdentifier, 'Linux_rhel6', 'Linux_rhel7', 'Linux_musl') }}: + - name: portableBuildArg + value: '-portablebuild=false' + - ${{ if and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + # Variables used to publish packages to blob feed + - name: dotnetfeedUrl + value: https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json + - name: dotnetfeedPAT + value: $(dotnetfeed-storage-access-key-1) + # Variables used by arcade to gather asset manifests + - name: _DotNetPublishToBlobFeed + value: true + - name: _BuildConfig + value: $(buildConfigUpper) + steps: # Install native dependencies @@ -39,11 +61,11 @@ jobs: # Build - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: - - script: ./build.sh $(buildConfig) $(archType) $(crossArg) -skiptests + - script: ./build.sh $(buildConfig) $(archType) $(crossArg) -skiptests -skipnuget displayName: Build product - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: # TODO: IBCOptimize? EnforcePGO? pass an OfficialBuildId? SignType? file logging parameters? - - script: set __TestIntermediateDir=int&&build.cmd $(buildConfig) $(archType) -skiptests + - script: set __TestIntermediateDir=int&&build.cmd $(buildConfig) $(archType) -skiptests -skipbuildpackages displayName: Build product @@ -52,24 +74,24 @@ jobs: - task: PublishPipelineArtifact@0 displayName: Save product build as pipeline artifact inputs: - artifactName: ${{ format('{0}_{1}_{2}_build', parameters.osGroupName, parameters.archType, parameters.buildConfig) }} + artifactName: ${{ format('{0}_{1}_{2}_build', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} targetPath: $(Build.SourcesDirectory)/bin/Product/$(osGroup).$(archType).$(buildConfigUpper) - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: - task: PublishPipelineArtifact@0 displayName: Save product build as pipeline artifact inputs: - artifactName: ${{ format('{0}_{1}_{2}_build', parameters.osGroup, parameters.archType, parameters.buildConfig) }} - targetPath: $(Build.SourcesDirectory)\bin\Product\Windows_NT.$(archType).$(buildConfigUpper) + artifactName: ${{ format('{0}_{1}_{2}_build', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + targetPath: $(Build.SourcesDirectory)\bin\Product\$(osGroup).$(archType).$(buildConfigUpper) # TODO: Sign - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - ${{ if and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: - script: echo Sign! displayName: Sign Binaries (empty for now) # Get key vault secrets for publishing - - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: + - ${{ if and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: - task: AzureKeyVault@1 inputs: azureSubscription: 'DotNet-Engineering-Services_KeyVault' @@ -77,19 +99,30 @@ jobs: SecretsFilter: 'dotnetfeed-storage-access-key-1,microsoft-symbol-server-pat,symweb-symbol-server-pat' - # TODO: Build packages and publish official build - #- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: - # ${{ if or(eq(parameters.osGroup, 'Linux'), eq(parameters.osGroup, 'OSX')) }}: - # # TODO: ensure that NUGET_PACKAGES path is correctly set - # - script: .dotnet/dotnet msbuild src/restorearcadepublishtasks.proj /t:Restore - # displayName: Restore tasks used to publish the build - # - script: .dotnet/dotnet msbuild src/publishwitharcade.proj /t:PublishPackages /p:AzureFeedUrl=$(AzureFeedUrl) /p:AccountKey=$(AccountKey) - # displayName: Publish official build - # ${{ if eq(parameters.osGroup, 'Windows_NT') }}: - # # TODO: pass publish feed url and access token in from the internal pipeline - # - script: .dotnet\dotnet.exe msbuild src\restorearcadepublishtasks.proj /t:Restore - # displayName: Restore tasks used to publish the build - # - script: .dotnet\dotnet.exe msbuild src\publishwitharcade.proj /t:PublishPackages /p:AzureFeedUrl=$(AzureFeedUrl) /p:AccountKey=$(AccountKey) + # Build packages and publish official build + - ${{ if and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: + - script: ./build-packages.sh -BuildArch=$(archType) -BuildType=$(buildConfigUpper) $(crossPackagesArg) -OfficialBuildId=$(Build.BuildNumber) $(portableBuildArg) + displayName: Build packages + - script: ./eng/common/build.sh /p:DotNetPublishToBlobFeed=true --ci --restore + displayName: Restore blob feed tasks + - script: ./eng/common/msbuild.sh --ci src/publishwitharcade.proj /p:__BuildType=$(buildConfigUpper) /p:__BuildArch=$(archType) /p:OSIdentifier=$(osIdentifier) /p:AzureFeedUrl=$(dotnetfeedUrl) /p:AzureAccountKey=$(dotnetfeedPAT) + displayName: Publish packages to blob feed + env: + # TODO: remove NUGET_PACKAGES once https://github.com/dotnet/arcade/issues/1578 is fixed + NUGET_PACKAGES: $(Build.SourcesDirectory)/.packages + - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: + # TODO: pass publish feed url and access token in from the internal pipeline + - script: build-packages.cmd -BuildArch=$(archType) -BuildType=$(buildConfigUpper) -OfficialBuildId=$(Build.BuildNumber) + displayName: Build packages + - powershell: eng\common\build.ps1 /p:DotNetPublishToBlobFeed=true -ci -restore + displayName: Restore blob feed tasks + - powershell: eng\common\msbuild.ps1 -ci src\publishwitharcade.proj /p:__BuildType=$(buildConfigUpper) /p:__BuildArch=$(archType) /p:OSIdentifier=$(osIdentifier) /p:AzureFeedUrl=$(dotnetfeedUrl) /p:AzureAccountKey=$(dotnetfeedPAT) + displayName: Publish packages to blob feed + env: + # TODO: remove NUGET_PACKAGES once https://github.com/dotnet/arcade/issues/1578 is fixed + NUGET_PACKAGES: $(Build.SourcesDirectory)\.packages + # Kill tasks that hold onto files on Windows. Otherwise git clean # may fail for later jobs on the same agent. diff --git a/eng/pipelines/coreclr/azure-pipelines.yml b/eng/pipelines/coreclr/azure-pipelines.yml index 8957e23..0aba334 100644 --- a/eng/pipelines/coreclr/azure-pipelines.yml +++ b/eng/pipelines/coreclr/azure-pipelines.yml @@ -1,3 +1,8 @@ + +# Temporarily set a build number format that includes a large revision +# number that won't conflict with buildpipeline official builds. +name: $(Date:yyyyMMdd)$(Rev:.7r) + variables: DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true @@ -183,23 +188,23 @@ jobs: # registry. Its dependencies should be updated to include all of the # official builds if we add more platform/arch combinations. -# TODO: Enable publish to BAR -#- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}: -# - template: /eng/common/templates/phases/publish-build-assets.yml@arcade -#- phase: publish_bar -# displayName: publish to BAR (empty currently) -# queue: -# name: Hosted VS2017 -# dependsOn: -# - build_Linux_x64_release -# - build_OSX_x64_release -# - build_Windows_NT_x64_release -# - build_Windows_NT_x86_release -# - build_Windows_NT_arm_release -# - build_Windows_NT_arm64_release - # TODO: enable these builds - # - build_rhel_x64_release - # - build_alpine_x64_release - # - build_crossbuild_arm_release - # - build_crossbuild_arm64_release - +- ${{ if and(ne(variables['System.TeamProject'], 'public'), ne(variables['Build.Reason'], 'PullRequest')) }}: + - template: /eng/common/templates/job/publish-build-assets.yml + parameters: + configuration: Release + pool: + name: dotnet-internal-temp + dependsOn: + - build_Linux_arm_release + - build_Linux_arm64_release + # TODO: depend on musl job once the glibc container issue is fixed + # https://dnceng.visualstudio.com/internal/_workitems/edit/109 + # - build_Linux_musl_x64_release + - build_Linux_rhel6_x64_release + - build_Linux_rhel7_x64_release + - build_Linux_x64_release + - build_OSX_x64_release + - build_Windows_NT_x64_release + - build_Windows_NT_x86_release + - build_Windows_NT_arm_release + - build_Windows_NT_arm64_release diff --git a/eng/platform-matrix.yml b/eng/platform-matrix.yml index 647bd9c..03fcd58 100644 --- a/eng/platform-matrix.yml +++ b/eng/platform-matrix.yml @@ -5,7 +5,7 @@ parameters: jobs: -# TODO: simplify osGroupName by adding osGroup and osSubGroup. See +# TODO: simplify osIdentifier by adding osGroup and osSubGroup. See # https://github.com/Microsoft/azure-pipelines-yaml/pull/46 for more information # Linux arm @@ -14,7 +14,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: arm osGroup: Linux - osGroupName: Linux + osIdentifier: Linux containerName: ubuntu_1404_arm_cross_build_image helixQueuesPublic: 'Ubuntu.1404.Arm32.Open' crossrootfsDir: '/crossrootfs/arm' @@ -27,7 +27,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: arm64 osGroup: Linux - osGroupName: Linux + osIdentifier: Linux containerName: ubuntu_1604_arm64_cross_build_image # TODO: enable Debian.9.Arm64.Open and Debian.9.Arm64 queues # when https://github.com/dotnet/core-eng/issues/4805 is resolved @@ -42,7 +42,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Linux - osGroupName: Linux_musl + osIdentifier: Linux_musl containerName: musl_x64_build_image # TODO: add Alpine.Amd64 queues ${{ insert }}: ${{ parameters.jobParameters }} @@ -53,7 +53,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Linux - osGroupName: Linux_rhel6 + osIdentifier: Linux_rhel6 containerName: centos6_x64_build_image helixQueuesPublic: 'RedHat.6.Amd64.Open' helixQueuesInternal: 'RedHat.6.Amd64' @@ -65,7 +65,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Linux - osGroupName: Linux_rhel7 + osIdentifier: Linux_rhel7 containerName: centos7_x64_build_image helixQueuesPublic: 'Centos.7.Amd64.Open,Fedora.28.Amd64.Open,RedHat.7.Amd64.Open' helixQueuesInternal: 'Centos.7.Amd64,Fedora.28.Amd64,RedHat.7.Amd64' @@ -78,7 +78,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Linux - osGroupName: Linux + osIdentifier: Linux containerName: ubuntu_1604_x64_build_image helixQueuesPublic: 'Debian.8.Amd64.Open,Ubuntu.1604.Amd64.Open,Ubuntu.1804.Amd64.Open' helixQueuesInternal: 'Debian.8.Amd64,Ubuntu.1604.Amd64,Ubuntu.1804.Amd64' @@ -91,7 +91,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: OSX - osGroupName: OSX + osIdentifier: OSX helixQueuesPublic: 'OSX.1012.Amd64.Open,OSX.1013.Amd64.Open' helixQueuesInternal: 'OSX.1012.Amd64,OSX.1013.Amd64' ${{ insert }}: ${{ parameters.jobParameters }} @@ -103,7 +103,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: x64 osGroup: Windows_NT - osGroupName: Windows_NT + osIdentifier: Windows_NT helixQueuesPublic: 'Windows.10.Amd64.Open,Windows.10.Nano.Amd64.Open,Windows.7.Amd64.Open,Windows.81.Amd64.Open' helixQueuesInternal: 'Windows.10.Amd64,Windows.10.Nano.Amd64,Windows.10.Amd64.Core,Windows.7.Amd64,Windows.81.Amd64' ${{ insert }}: ${{ parameters.jobParameters }} @@ -113,7 +113,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: x86 osGroup: Windows_NT - osGroupName: Windows_NT + osIdentifier: Windows_NT helixQueuesPublic: 'Windows.10.Amd64.Open,Windows.10.Nano.Amd64.Open,Windows.7.Amd64.Open,Windows.81.Amd64.Open' helixQueuesInternal: 'Windows.10.Amd64,Windows.10.Nano.Amd64,Windows.10.Amd64.Core,Windows.7.Amd64,Windows.81.Amd64' ${{ insert }}: ${{ parameters.jobParameters }} @@ -123,7 +123,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: arm osGroup: Windows_NT - osGroupName: Windows_NT + osIdentifier: Windows_NT helixQueuesPublic: 'Windows.10.Arm64.Open' helixQueuesInternal: 'Windows.10.Arm64' ${{ insert }}: ${{ parameters.jobParameters }} @@ -133,7 +133,7 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: arm64 osGroup: Windows_NT - osGroupName: Windows_NT + osIdentifier: Windows_NT helixQueuesPublic: 'Windows.10.Arm64.Open' helixQueuesInternal: 'Windows.10.Arm64' ${{ insert }}: ${{ parameters.jobParameters }} diff --git a/eng/test-job.yml b/eng/test-job.yml index 218f8ab..9baec1e 100644 --- a/eng/test-job.yml +++ b/eng/test-job.yml @@ -2,7 +2,7 @@ parameters: buildConfig: '' archType: '' osGroup: '' - osGroupName: '' + osIdentifier: '' priority: 0 crossgen: false scenarios: '' @@ -22,56 +22,56 @@ jobs: buildConfig: ${{ parameters.buildConfig }} archType: ${{ parameters.archType }} osGroup: ${{ parameters.osGroup }} - osGroupName: ${{ parameters.osGroupName }} + osIdentifier: ${{ parameters.osIdentifier }} # Compute job name from template parameters ${{ if eq(parameters.crossgen, 'false') }}: - name: ${{ format('testbuild_pri{0}_{1}_{2}_{3}', parameters.priority, parameters.osGroupName, parameters.archType, parameters.buildConfig) }} - displayName: ${{ format('Test Pri{0} {1} {2} {3}', parameters.priority, parameters.osGroupName, parameters.archType, parameters.buildConfig) }} + name: ${{ format('testbuild_pri{0}_{1}_{2}_{3}', parameters.priority, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + displayName: ${{ format('Test Pri{0} {1} {2} {3}', parameters.priority, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} ${{ if eq(parameters.crossgen, 'true') }}: - name: ${{ format('testbuild_pri{0}_r2r_{1}_{2}_{3}', parameters.priority, parameters.osGroupName, parameters.archType, parameters.buildConfig) }} - displayName: ${{ format('Test Pri{0} R2R {1} {2} {3}', parameters.priority, parameters.osGroupName, parameters.archType, parameters.buildConfig) }} + name: ${{ format('testbuild_pri{0}_r2r_{1}_{2}_{3}', parameters.priority, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} + displayName: ${{ format('Test Pri{0} R2R {1} {2} {3}', parameters.priority, parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} ${{ if eq(parameters.crossgen, 'false') }}: - helixType: ${{ format('test/functional/cli/pri{0}', parameters.priority) }} + helixType: ${{ format('test/functional/cli/pri{0}', parameters.priority) }} ${{ if eq(parameters.crossgen, 'true') }}: - helixType: ${{ format('test/functional/r2r/cli/pri{0}', parameters.priority) }} + helixType: ${{ format('test/functional/r2r/cli/pri{0}', parameters.priority) }} crossrootfsDir: ${{ parameters.crossrootfsDir }} variables: - # Map template parameters to command line arguments - - ${{ if eq(parameters.priority, '1') }}: - - ${{ if or(eq(parameters.osGroup, 'Linux'), eq(parameters.osGroup, 'OSX')) }}: - - name: priorityArg - value: 'priority1' - - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: - - name: priorityArg - value: '-priority=1' - - ${{ if eq(parameters.priority, '0') }}: + # Map template parameters to command line arguments + - ${{ if eq(parameters.priority, '1') }}: + - ${{ if or(eq(parameters.osGroup, 'Linux'), eq(parameters.osGroup, 'OSX')) }}: - name: priorityArg - value: '' - - - ${{ if eq(parameters.crossgen, 'true') }}: - - name: crossgenArg - value: 'crossgen' - - ${{ if eq(parameters.crossgen, 'false') }}: - - name: crossgenArg - value: '' - - ${{ if ne(parameters.scenarios, '') }}: - - name: scenariosArg - value: ${{ format('/p:Scenarios=\"{0}\"', parameters.scenarios) }} - - ${{ if eq(parameters.scenarios, '') }}: - - name: scenariosArg - value: '' - - ${{ if eq(variables['System.TeamProject'], 'public') }}: - - name: helixTargetQueuesArg - value: ${{ format('/p:HelixTargetQueues=\"{0}\"', parameters.helixQueuesPublic) }} - - ${{ if ne(variables['System.TeamProject'], 'public') }}: - - name: helixTargetQueuesArg - value: ${{ format('/p:HelixTargetQueues=\"{0}\"', parameters.helixQueuesInternal) }} - - name: commonMSBuildArgs - value: ${{ format('/maxcpucount /p:__BuildOS={0} /p:__BuildArch={1} /p:__BuildType={2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }} + value: 'priority1' + - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: + - name: priorityArg + value: '-priority=1' + - ${{ if eq(parameters.priority, '0') }}: + - name: priorityArg + value: '' + + - ${{ if eq(parameters.crossgen, 'true') }}: + - name: crossgenArg + value: 'crossgen' + - ${{ if eq(parameters.crossgen, 'false') }}: + - name: crossgenArg + value: '' + - ${{ if ne(parameters.scenarios, '') }}: + - name: scenariosArg + value: ${{ format('/p:Scenarios=\"{0}\"', parameters.scenarios) }} + - ${{ if eq(parameters.scenarios, '') }}: + - name: scenariosArg + value: '' + - ${{ if eq(variables['System.TeamProject'], 'public') }}: + - name: helixTargetQueuesArg + value: ${{ format('/p:HelixTargetQueues=\"{0}\"', parameters.helixQueuesPublic) }} + - ${{ if ne(variables['System.TeamProject'], 'public') }}: + - name: helixTargetQueuesArg + value: ${{ format('/p:HelixTargetQueues=\"{0}\"', parameters.helixQueuesInternal) }} + - name: commonMSBuildArgs + value: ${{ format('/maxcpucount /p:__BuildOS={0} /p:__BuildArch={1} /p:__BuildType={2}', parameters.osGroup, parameters.archType, parameters.buildConfig) }} # TODO: Enable crossgen in build-test.sh. It currently doesn't # accept a crossgen arg, so disable the macos/linux crossgen test @@ -80,7 +80,7 @@ jobs: condition: false # Test job depends on the corresponding build job - dependsOn: ${{ format('build_{0}_{1}_{2}', parameters.osGroupName, parameters.archType, parameters.buildConfig) }} + dependsOn: ${{ format('build_{0}_{1}_{2}', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} # Run all steps in the container. # Note that the containers are resources defined in azure-pipelines.yml @@ -101,13 +101,13 @@ jobs: - task: DownloadPipelineArtifact@0 displayName: Download product build pipeline artifact inputs: - artifactName: ${{ format('{0}_{1}_{2}_build', parameters.osGroupName, parameters.archType, parameters.buildConfig) }} + artifactName: ${{ format('{0}_{1}_{2}_build', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} targetPath: $(Build.SourcesDirectory)/bin/Product/$(osGroup).$(archType).$(buildConfigUpper) - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: - task: DownloadPipelineArtifact@0 displayName: Download product build pipeline artifact inputs: - artifactName: ${{ format('{0}_{1}_{2}_build', parameters.osGroupName, parameters.archType, parameters.buildConfig) }} + artifactName: ${{ format('{0}_{1}_{2}_build', parameters.osIdentifier, parameters.archType, parameters.buildConfig) }} targetPath: $(Build.SourcesDirectory)\bin\Product\Windows_NT.$(archType).$(buildConfigUpper) diff --git a/eng/xplat-job.yml b/eng/xplat-job.yml index db8cf3b..8b25175 100644 --- a/eng/xplat-job.yml +++ b/eng/xplat-job.yml @@ -2,7 +2,7 @@ parameters: buildConfig: '' archType: '' osGroup: '' - osGroupName: '' + osIdentifier: '' name: '' displayName: '' condition: '' @@ -11,6 +11,10 @@ parameters: timeoutInMinutes: '' helixType: '' crossrootfsDir: '' + + # arcade-specific parameters + gatherAssetManifests: false + variables: {} ## any extra variables to add to the defaults defined below jobs: @@ -54,42 +58,51 @@ jobs: ${{ if eq(parameters.osGroup, 'Windows_NT') }}: agentOs: Windows_NT + # Setting this results in the arcade job template including a step + # that gathers asset manifests and publishes them to pipeline + # storage. Only relevant for build jobs. + enablePublishBuildAssets: ${{ parameters.gatherAssetManifests }} + variables: - - name: buildConfig - value: ${{ parameters.buildConfig }} + - name: buildConfig + value: ${{ parameters.buildConfig }} - - ${{ if eq(parameters.buildConfig, 'checked') }}: - - name: buildConfigUpper - value: 'Checked' + - ${{ if eq(parameters.buildConfig, 'checked') }}: + - name: buildConfigUpper + value: 'Checked' - - ${{ if eq(parameters.buildConfig, 'debug') }}: - - name: buildConfigUpper - value: 'Debug' + - ${{ if eq(parameters.buildConfig, 'debug') }}: + - name: buildConfigUpper + value: 'Debug' - - ${{ if eq(parameters.buildConfig, 'release') }}: - - name: buildConfigUpper - value: 'Release' + - ${{ if eq(parameters.buildConfig, 'release') }}: + - name: buildConfigUpper + value: 'Release' - - name: archType - value: ${{ parameters.archType }} + - name: archType + value: ${{ parameters.archType }} - - name: osGroup - value: ${{ parameters.osGroup }} + - name: osGroup + value: ${{ parameters.osGroup }} - - name: osGroupName - value: ${{ parameters.osGroupName }} + - name: osIdentifier + value: ${{ parameters.osIdentifier }} - - ${{ if ne(parameters.crossrootfsDir, '') }}: - - name: crossArg - value: 'cross' - # This is only required for cross builds. - - name: ROOTFS_DIR - value: ${{ parameters.crossrootfsDir }} - - ${{ if eq(parameters.crossrootfsDir, '') }}: - - name: crossArg - value: '' - - - ${{ each variable in parameters.variables }}: - - ${{insert}}: ${{ variable }} + - ${{ if ne(parameters.crossrootfsDir, '') }}: + - name: crossArg + value: 'cross' + - name: crossPackagesArg + value: '-__DoCrossArchBuild=1' + # This is only required for cross builds. + - name: ROOTFS_DIR + value: ${{ parameters.crossrootfsDir }} + - ${{ if eq(parameters.crossrootfsDir, '') }}: + - name: crossArg + value: '' + - name: crossPackagesArg + value: '' + + - ${{ each variable in parameters.variables }}: + - ${{insert}}: ${{ variable }} steps: ${{ parameters.steps }} diff --git a/src/coreclr/NuGet.Config b/src/coreclr/NuGet.Config deleted file mode 100644 index 7fa789a..0000000 --- a/src/coreclr/NuGet.Config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/src/coreclr/build-packages.sh b/src/coreclr/build-packages.sh index 71345eb..fce6fe3 100755 --- a/src/coreclr/build-packages.sh +++ b/src/coreclr/build-packages.sh @@ -29,6 +29,9 @@ initHostDistroRid() if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then __HostDistroRid="rhel.6-$__Arch" fi + if [[ $redhatRelease == "CentOS Linux release 7."* ]]; then + __HostDistroRid="rhel.7-$__Arch" + fi fi fi if [ "$__HostOS" == "FreeBSD" ]; then diff --git a/src/coreclr/build.sh b/src/coreclr/build.sh index 7e3f5bf..a0b1742 100755 --- a/src/coreclr/build.sh +++ b/src/coreclr/build.sh @@ -80,6 +80,9 @@ initHostDistroRid() if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then __HostDistroRid="rhel.6-$__HostArch" fi + if [[ $redhatRelease == "CentOS Linux release 7."* ]]; then + __HostDistroRid="rhel.7-$__Arch" + fi fi fi if [ "$__HostOS" == "FreeBSD" ]; then diff --git a/src/coreclr/src/publishwitharcade.proj b/src/coreclr/src/publishwitharcade.proj index 01bc997..a90570c 100644 --- a/src/coreclr/src/publishwitharcade.proj +++ b/src/coreclr/src/publishwitharcade.proj @@ -1,37 +1,76 @@ - + + + + + + + net462 + + - - - NonShipping=true - + + + + + + + + + + + + + + + + + NonShipping=true + - + + + + $(ArtifactsLogDir)AssetManifest\$(OSIdentifier)-$(BuildArch) + + <_TemporaryBuildRepositoryUri>$(BUILD_REPOSITORY_URI) + <_TemporaryBuildRepositoryUri Condition="'$(BUILD_REPOSITORY_URI)' == 'https://dnceng.visualstudio.com/internal/_git/dotnet-coreclr'" >https://dnceng@dev.azure.com/dnceng/internal/_git/dotnet-coreclr + + + + + - + ManifestCommit="$(BUILD_SOURCEVERSION)" + AssetManifestPath="$(AssetManifestFilePath)" />