</Target>
<Target Name="ResolveLibrariesFromLocalBuild">
- <Error Condition="!Exists('$(LibrariesSharedFrameworkRefArtifactsPath)')" Text="The libraries subset category must be built before building this project." />
- <Error Condition="!Exists('$(LibrariesAllRefArtifactsPath)')" Text="The libraries subset category must be built before building this project." />
- <Error Condition="!Exists('$(LibrariesSharedFrameworkBinArtifactsPath)')" Text="The libraries subset category must be built before building this project." />
- <Error Condition="!Exists('$(LibrariesAllBinArtifactsPath)')" Text="The libraries subset category must be built before building this project." />
- <Error Condition="!Exists('$(LibrariesNativeArtifactsPath)')" Text="The libraries subset category must be built before building this project." />
+ <Error Condition="!Exists('$(LibrariesSharedFrameworkRefArtifactsPath)')" Text="The libraries subset category must be built before building this project. Missing artifacts: $(LibrariesSharedFrameworkRefArtifactsPath)" />
+ <Error Condition="!Exists('$(LibrariesAllRefArtifactsPath)')" Text="The libraries subset category must be built before building this project. Missing artifacts: $(LibrariesAllRefArtifactsPath)" />
+ <Error Condition="!Exists('$(LibrariesSharedFrameworkBinArtifactsPath)')" Text="The libraries subset category must be built before building this project. Missing artifacts: $(LibrariesSharedFrameworkBinArtifactsPath)" />
+ <Error Condition="!Exists('$(LibrariesAllBinArtifactsPath)')" Text="The libraries subset category must be built before building this project. Missing artifacts: $(LibrariesAllBinArtifactsPath)" />
+ <Error Condition="!Exists('$(LibrariesNativeArtifactsPath)')" Text="The libraries subset category must be built before building this project. Missing artifacts: $(LibrariesNativeArtifactsPath)" />
<ItemGroup>
<LibrariesRefAssemblies Condition="'$(IncludeOOBLibraries)' != 'true'" Include="$(LibrariesSharedFrameworkRefArtifactsPath)*.dll;$(LibrariesSharedFrameworkRefArtifactsPath)*.pdb" />
<LibrariesRefAssemblies Condition="'$(IncludeOOBLibraries)' == 'true'" Include="$(LibrariesAllRefArtifactsPath)*.dll;$(LibrariesAllRefArtifactsPath)*.pdb" />
- Windows_NT_x64
jobParameters:
testGroup: innerloop
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
readyToRun: true
crossgen2: true
displayNameArgs: R2R_CG2
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: release
platforms:
- Linux_x64
- Windows_NT_arm64
jobParameters:
testGroup: gc-longrunning
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
managedOsxBuild: false
jobParameters:
testGroup: gc-longrunning
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: release
platforms:
# disable Linux x64 for now untill OOMs are resolved.
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: gc-simulator
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platformGroup: gcstress
managedOsxBuild: false
managedOsxBuild: false
jobParameters:
testGroup: gcstress-extra
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platformGroup: gcstress
jobParameters:
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: gcstress0x3-gcstress0xc
+ liveLibrariesBuildConfig: Release
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: jitstress-isas-arm
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
- Windows_NT_x86
jobParameters:
testGroup: jitstress-isas-x86
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: jitstress-isas-x86
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: jitstress
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: jitstress2-jitstressregs
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: jitstressregs-x86
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
platformGroup: all
jobParameters:
testGroup: jitstressregs
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
jobParameters:
testGroup: jitstressregs
- useLiveLibrariesBuildConfig: Release
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: release
platforms:
- Linux_x64
- Windows_NT_x86
jobParameters:
testGroup: perf
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platformGroup: gcstress
jobParameters:
testGroup: r2r-extra
readyToRun: true
displayNameArgs: R2R
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- Linux_arm
testGroup: outerloop
readyToRun: true
displayNameArgs: R2R
+ liveLibrariesBuildConfig: Release
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
- jobTemplate: /eng/pipelines/coreclr/templates/build-job.yml
+ jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
- Linux_x64
testGroup: outerloop
runInUnloadableContext: true
displayNameArgs: RunInContext
+ liveLibrariesBuildConfig: Release
osSubgroup: ''
container: ''
framework: netcoreapp5.0 # Specify the appropriate framework when running release branches (ie netcoreapp3.0 for release/3.0)
+ liveLibrariesBuildConfig: ''
variables: {}
pool: ''
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
# Test job depends on the corresponding build job
- dependsOn: ${{ format('coreclr_product_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
+ dependsOn:
+ - ${{ format('coreclr_product_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
+ - ${{ if ne(parameters.liveLibrariesBuildConfig, '') }}:
+ - ${{ format('libraries_build_{0}_{1}{2}_{3}_{4}', 'netcoreapp', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveLibrariesBuildConfig) }}
${{ if eq(parameters.osGroup, 'Windows_NT') }}:
extraSetupParameters: -CoreRootDirectory $(Build.SourcesDirectory)\artifacts\tests\coreclr\${{ parameters.osGroup }}.${{ parameters.archType }}.Release\Tests\Core_Root -Architecture ${{ parameters.archType }}
extraSetupParameters: --corerootdirectory $(Build.SourcesDirectory)/artifacts/tests/coreclr/${{ parameters.osGroup }}.${{ parameters.archType }}.Release/Tests/Core_Root --architecture ${{ parameters.archType }}
variables: ${{ parameters.variables }}
+
frameworks:
- ${{ parameters.framework }}
steps:
# Extra steps that will be passed to the performance template and run before sending the job to helix (all of which is done in the template)
+ # Optionally download live-built libraries
+ - ${{ if ne(parameters.liveLibrariesBuildConfig, '') }}:
+ - template: /eng/pipelines/common/download-artifact-step.yml
+ parameters:
+ unpackFolder: $(librariesDownloadDir)
+ cleanUnpackFolder: false
+ artifactFileName: '$(librariesBuildArtifactName)$(archiveExtension)'
+ artifactName: '$(librariesBuildArtifactName)'
+ displayName: 'live-built libraries'
+
+
# Download product binaries directory
- template: /eng/pipelines/common/download-artifact-step.yml
parameters:
# Create Core_Root
- - ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
- - script: $(coreClrRepoRootDir)build-test$(scriptExt) ${{ parameters.buildConfig }} ${{ parameters.archType }} generatelayoutonly
- displayName: Create Core_Root
- - ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
- # TODO: add generatelayoutonly to build-test.cmd.
- - script: $(coreClrRepoRootDir)build-test$(scriptExt) ${{ parameters.buildConfig }} ${{ parameters.archType }} skipmanaged skipnative
- displayName: Create Core_Root
\ No newline at end of file
+ - script: $(coreClrRepoRootDir)build-test$(scriptExt) $(buildConfig) $(archType) generatelayoutonly $(librariesOverrideArg)
+ displayName: Create Core_Root
dependsOn: '' # optional -- dependencies of the job
timeoutInMinutes: 320 # optional -- timeout for the job
enableTelemetry: false # optional -- enable for telemetry
+ liveLibrariesBuildConfig: '' # optional -- live-live libraries configuration to use for the run
jobs:
- template: xplat-pipeline-job.yml
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
+ liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }}
enableTelemetry: ${{ parameters.enableTelemetry }}
enablePublishBuildArtifacts: true
continueOnError: ${{ parameters.continueOnError }}
crossrootfsDir: ''
# If true, run the corefx tests instead of the coreclr ones
corefxTests: false
+ liveLibrariesBuildConfig: ''
displayNameArgs: ''
runInUnloadableContext: false
condition: true
- template: /eng/pipelines/coreclr/templates/build-test-job.yml
parameters:
buildConfig: ${{ parameters.buildConfig }}
+ liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }}
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.managedTestBuildOsGroup }}
osSubgroup: ${{ parameters.managedTestBuildOsSubgroup }}
- template: /eng/pipelines/coreclr/templates/run-test-job.yml
parameters:
buildConfig: ${{ parameters.buildConfig }}
+ liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }}
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}