Skip to content

Commit

Permalink
Dev infra master merge1 (#37274)
Browse files Browse the repository at this point in the history
* Build all managed coreclr tests on OSX in CI (#36253)

Remove concept of targetGeneric and targetSpecific

Add OSX corelcr managed tests builds to all pipes
Remove all other platform coreclr managed test build

Remove property `TestUnsupportedOutsideWindows`
Rename conditional `DisableProjectBuild` to `CLRTestTargetUnsupported`

Refactor tests to allow all managed tests to be built on OSX.

Split managed tests which based on target properties conditionally:
+ `<Compile Include/>`
+ `<DefineConstant/>`

This creates a separate test for each target configuration permutation.

Add `<CLRTestTargetUnsupported/>` conditions to select these at build and/or
run time

Append split tests with `_Target*` to identify intended test target

For tests which depend on target specific internal details od System.Private.Corlib,
expose a dummy implementation for unsupported targets.

Clean up

Remove <TraitTags/>
Remove <CLRTestNeedTarget/>
Remove managedOSXBuild
Remove managedTestBuildOsGroup
Remove managedTestBuildOsSubGroup

Use issues.target to disable expected failures

Some tests are configured to run on a targets with
specific charecteristics.

Use issues.targets to conditionally disable tests
not intended to run on all targets.

* Setup pr and batch runs for dev/infrsatructure (#36218) (#36299)

Co-authored-by: Jarret Shook <[email protected]>

* Add alias CoreClrTestBuildHost (#36256)

* Add alias CoreClrTestBuildHost

Intended to allow easy switching of test build host between OSX_x64 & Linux_x64
depending on availablility and reliability.

* Add missing issues.targets from #36253 (#36351)

* Add missing issues.targets from #36253

PR #36253 enabled building all tests on OSX. It was intended to include this list of
tests to disable on unsupported platforms. This was dropped as part of rebasing for
dev/infra branch.

Lack of CI on dev/infra allowed this to be missed.

* Revise issues.targets

* Add src/coreclr/tests/src/baseservices/typeequivalence/simple

* Remove #if Windows from DllImportPathTest

* Build scripts while copying native binaries (#36482)

* Build scripts while copying native binaries

Stop building test scripts during the managed build phase
Build after copying the native targets

Fixes issues relative to building scripts on OSX

* Fix superpmi script generation

* Cleanup issues.targets

* Keep 6 failing IJW tests

* Fix IJW when managed tests are built on OSX (#36711)

* Fix IJW when managed tests are built on OSX

- Refactor Interop.setting.targets to Directory.Build.{targets,props}
- Remove include Interop.setting.targets from interop projects rely on SDK including
    Directory.Build.* automatically
- Add new CopyInteropNativeRuntimeDependencies target for copying IJW dependencies
  * Add <Copy/> task
- Delete obsolete instruction in Interop/ReadMe.md

* Cleanup Readme.md

* Optional stress dependencies & don't populate CORE_ROOT twice (#36851)

Bruce noticed that we're downloading and installing stress
runtime dependencies several times during build. I have added a new
option to suppress this behavior in build-test and I fixed the
invocations of build-test based on Bruce's analysis. I have also
patched the build scripts to avoid populating CORE_ROOT in
"copynativeonly" mode.

Thanks

Tomas

Fixes: #36797

* Build test scripts whenever CopyNativeProjectBinaries builds (#37028)

* Fix pri0 test build.

* Clean pri1 test build (#37266)

* Clean pri1 test build

* Undo testing comment

* Make sure weakreferencetest does not run on unix

* Fixup WinRT proj

* Fix path

Co-authored-by: Steve MacLean <[email protected]>
Co-authored-by: Tomáš Rylek <[email protected]>
Co-authored-by: Santiago Fernandez Madero <[email protected]>
Co-authored-by: Alexander Köplinger <[email protected]>
Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Andy Ayers <[email protected]>
Co-authored-by: Adeel Mujahid <[email protected]>
Co-authored-by: Ganbarukamo41 <[email protected]>
Co-authored-by: monojenkins <[email protected]>
Co-authored-by: thaystg <[email protected]>
Co-authored-by: Viktor Hofer <[email protected]>
Co-authored-by: Aaron Robinson <[email protected]>
Co-authored-by: Kevin Jones <[email protected]>
Co-authored-by: Jeremy Barton <[email protected]>
Co-authored-by: Egor Bogatov <[email protected]>
Co-authored-by: Simon Nattress <[email protected]>
Co-authored-by: Aleksey Kliger (λgeek) <[email protected]>
Co-authored-by: Krzysztof Wicher <[email protected]>
Co-authored-by: Kunal Pathak <[email protected]>
Co-authored-by: Carol Eidt <[email protected]>
Co-authored-by: Shimmy <[email protected]>
Co-authored-by: Stephen Toub <[email protected]>
Co-authored-by: Layomi Akinrinade <[email protected]>
Co-authored-by: Dan Moseley <[email protected]>
Co-authored-by: Eirik Tsarpalis <[email protected]>
Co-authored-by: Jeremy Koritzinsky <[email protected]>
Co-authored-by: Jose Perez Rodriguez <[email protected]>
Co-authored-by: Alexander Chermyanin <[email protected]>
Co-authored-by: Miha Zupan <[email protected]>
Co-authored-by: Sergey Andreenko <[email protected]>
Co-authored-by: Nikola Milosavljevic <[email protected]>
Co-authored-by: Steve Pfister <[email protected]>
Co-authored-by: David Wrighton <[email protected]>
Co-authored-by: buyaa-n <[email protected]>
Co-authored-by: Krzysztof Wicher <[email protected]>
Co-authored-by: Vladimir Sadov <[email protected]>
Co-authored-by: Leandro Pereira <[email protected]>
Co-authored-by: Swaroop Sridhar <[email protected]>
Co-authored-by: Marie Píchová <[email protected]>
Co-authored-by: Michal Strehovský <[email protected]>
Co-authored-by: Manish Godse <[email protected]>
Co-authored-by: Bruce Forstall <[email protected]>
Co-authored-by: Alexis Christoforides <[email protected]>
Co-authored-by: BrzVlad <[email protected]>
Co-authored-by: Alfred Myers <[email protected]>
Co-authored-by: Nick Craver <[email protected]>
Co-authored-by: Nathan Ricci <[email protected]>
Co-authored-by: Thays Grazia <[email protected]>
Co-authored-by: Yoh Deadfall <[email protected]>
Co-authored-by: Eric Erhardt <[email protected]>
Co-authored-by: Jo Shields <[email protected]>
Co-authored-by: Jan Vorlicek <[email protected]>
Co-authored-by: Anirudh Agnihotry <[email protected]>
Co-authored-by: Roman Marusyk <[email protected]>
Co-authored-by: Zoltan Varga <[email protected]>
Co-authored-by: Youssef Victor <[email protected]>
Co-authored-by: Ben Adams <[email protected]>
Co-authored-by: Marek Safar <[email protected]>
Co-authored-by: Anton Lapounov <[email protected]>
Co-authored-by: AraHaan <[email protected]>
Co-authored-by: Tom Deseyn <[email protected]>
Co-authored-by: Tomas Weinfurt <[email protected]>
Co-authored-by: Tomas Weinfurt <[email protected]>
Co-authored-by: David Cantu <[email protected]>
Co-authored-by: Sung Yoon Whang <[email protected]>
Co-authored-by: Levi Broderick <[email protected]>
Co-authored-by: vargaz <[email protected]>
Co-authored-by: David Mason <[email protected]>
Co-authored-by: UnityAlex <[email protected]>
Co-authored-by: Fan Yang <[email protected]>
Co-authored-by: Tanner Gooding <[email protected]>
Co-authored-by: Egor Chesakov <[email protected]>
Co-authored-by: radical <[email protected]>
Co-authored-by: Ivan Diaz Sanchez <[email protected]>
Co-authored-by: Gleb Balykov <[email protected]>
Co-authored-by: Honza Rameš <[email protected]>
Co-authored-by: Eric StJohn <[email protected]>
Co-authored-by: Ivan <[email protected]>
Co-authored-by: Ryan Lucia <[email protected]>
Co-authored-by: SRV <[email protected]>
Co-authored-by: Clinton Ingram <[email protected]>
Co-authored-by: Mikhail Pilin <[email protected]>
Co-authored-by: Jan Kotas <[email protected]>
Co-authored-by: w-flo <[email protected]>
Co-authored-by: Peter Sollich <[email protected]>
Co-authored-by: grendello <[email protected]>
Co-authored-by: Johan Lorensson <[email protected]>
Co-authored-by: Erhan Atesoglu <[email protected]>
Co-authored-by: Matt Mitchell <[email protected]>
Co-authored-by: Josh Schreuder <[email protected]>
Co-authored-by: Josh Schreuder <[email protected]>
Co-authored-by: Andrew Au <[email protected]>
Co-authored-by: Eugene Rozenfeld <[email protected]>
Co-authored-by: Vlad Brezae <[email protected]>
Co-authored-by: Kenneth Pouncey <[email protected]>
Co-authored-by: Kirill Frolov <[email protected]>
Co-authored-by: Tomas Weinfurt <[email protected]>
  • Loading branch information
Show file tree
Hide file tree
Showing 399 changed files with 1,410 additions and 1,398 deletions.
16 changes: 14 additions & 2 deletions docs/workflow/testing/coreclr/test-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,27 @@ Test cases are categorized by priority level. The most important subset should b
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
```
* Disable building of a test by conditionally setting the `<DisableProjectBuild>` property.
* e.g. `<DisableProjectBuild Condition=" '$(Platform)' == 'arm64' ">true</DisableProjectBuild>`
* The managed portion of all tests should be able to build on any platform.
In fact in CI the managed portion of all tests will be built on OSX.
Each target will run a subset of the tests built on OSX.
Therefore the managed portion of each test **must not contain**:
* Target platform dependent conditionally compiled code.
* Target platform dependent conditionally included files
* Target platform dependent conditional `<DefineConstants/>`
* Disable building and running a test on selected Targets by conditionally setting the `<CLRTestTargetUnsupported>` property.
* e.g. `<CLRTestTargetUnsupported Condition="'$(TargetArchitecture)' == 'arm64'">true</CLRTestTargetUnsupported>`
* Disable building of a test by unconditionally setting the `<DisableProjectBuild>` property.
* e.g. `<DisableProjectBuild>true</DisableProjectBuild>`
* Exclude test from GCStress runs by adding the following to the csproj:
* `<GCStressIncompatible>true</GCStressIncompatible>`
* Exclude test from JIT stress runs runs by adding the following to the csproj:
* `<JitOptimizationSensitive>true</JitOptimizationSensitive>`
* Add NuGet references by updating the following [test project](https://github.com/dotnet/runtime/blob/master/src/coreclr/tests/src/Common/test_dependencies/test_dependencies.csproj).
* Get access to System.Private.CoreLib types and methods that are not exposed via public surface by adding the following to the csproj:
* `<ReferenceSystemPrivateCoreLib>true</ReferenceSystemPrivateCoreLib>`
* Any System.Private.CoreLib types and methods used by tests must be available for building on all platforms.
This means there must be enough implementation for the C# compiler to find the referenced types and methods. Unsupported target platforms
should simply `throw new PlatformNotSupportedException()` in its dummy method implementations.
* Update exclusion list at [tests/issues.targets](https://github.com/dotnet/runtime/blob/master/src/coreclr/tests/issues.targets) if the test fails due to active bug.
### Creating a C# test project
Expand Down
19 changes: 12 additions & 7 deletions docs/workflow/testing/coreclr/unix-test-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,21 +55,26 @@ Please use the following command for help.

### Unsupported and temporarily disabled tests

Unsupported tests outside of Windows have two annotations in their csproj to
ignore them when run.
To support building all tests for all targets on single target, we use
the conditional property

```xml
<TestUnsupportedOutsideWindows>true</TestUnsupportedOutsideWindows>
<CLRTestTargetUnsupported Condition="...">true</CLRTestTargetUnsupported>
```

This will write in the bash target to skip the test by returning a passing value if run outside Windows.
This property disables building of a test in a default build. It also
disables running a test in the bash/batch wrapper scripts. It allows the
test to be built on any target in CI when the `allTargets` option is
passed to the `build-test.*` scripts.

Tests which never should be built or run are marked

In addition:
```xml
<DisableProjectBuild Condition="'$(TargetsUnix)' == 'true'">true</DisableProjectBuild>
<DisableProjectBuild>true</DisableProjectBuild>
```

Is used to disable the build, that way if building on Unix cycles are saved building/running.
This propoerty should not be conditioned on Target properties to allow
all tests to be built for `allTargets`.

PAL tests
---------
Expand Down
25 changes: 1 addition & 24 deletions eng/pipelines/common/platform-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ parameters:
helixQueuesTemplate: ''
stagedBuild: false
# When set to false, suppresses reuse of OSX managed build artifacts (for pipelines without an OSX obj)
managedOsxBuild: true
# When set to true, passes the 'platforms' value as a job parameter also named 'platforms'.
# Handled as an opt-in parameter to avoid excessive yaml.
passPlatforms: false
Expand Down Expand Up @@ -47,7 +46,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: Linux
crossrootfsDir: '/crossrootfs/arm'
${{ insert }}: ${{ parameters.jobParameters }}

Expand All @@ -71,7 +69,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: Linux
crossrootfsDir: '/crossrootfs/arm64'
${{ insert }}: ${{ parameters.jobParameters }}

Expand Down Expand Up @@ -100,11 +97,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
${{ if ne(parameters.managedOsxBuild, true) }}:
managedTestBuildOsGroup: Linux
managedTestBuildOsSubgroup: _musl
${{ if eq(parameters.managedOsxBuild, true) }}:
managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}

# Linux musl arm64
Expand All @@ -128,7 +120,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: Linux
crossrootfsDir: '/crossrootfs/arm64'
${{ insert }}: ${{ parameters.jobParameters }}

Expand All @@ -152,10 +143,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
${{ if ne(parameters.managedOsxBuild, true) }}:
managedTestBuildOsGroup: Linux
${{ if eq(parameters.managedOsxBuild, true) }}:
managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}

# WebAssembly
Expand Down Expand Up @@ -305,7 +292,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}

# tvOS arm64
Expand All @@ -325,7 +311,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}

# iOS x64
Expand All @@ -345,7 +330,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}

# iOS x86
Expand Down Expand Up @@ -385,7 +369,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}

# iOS arm64
Expand All @@ -405,12 +388,11 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}

# macOS x64

- ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), eq(parameters.platformGroup, 'all')) }}:
- ${{ if or(containsValue(parameters.platforms, 'OSX_x64'), containsValue(parameters.platforms, 'CoreClrTestBuildHost'), eq(parameters.platformGroup, 'all')) }}:
- template: xplat-setup.yml
parameters:
jobTemplate: ${{ parameters.jobTemplate }}
Expand All @@ -425,7 +407,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: OSX
${{ insert }}: ${{ parameters.jobParameters }}

# Windows x64
Expand All @@ -445,7 +426,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: Windows_NT
${{ insert }}: ${{ parameters.jobParameters }}

# Windows x86
Expand All @@ -465,7 +445,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: Windows_NT
${{ insert }}: ${{ parameters.jobParameters }}

# Windows arm
Expand All @@ -484,7 +463,6 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: Windows_NT
${{ insert }}: ${{ parameters.jobParameters }}

# Windows arm64
Expand All @@ -504,5 +482,4 @@ jobs:
${{ if eq(parameters.passPlatforms, true) }}:
platforms: ${{ parameters.platforms }}
helixQueueGroup: ${{ parameters.helixQueueGroup }}
managedTestBuildOsGroup: Windows_NT
${{ insert }}: ${{ parameters.jobParameters }}
32 changes: 15 additions & 17 deletions eng/pipelines/common/templates/runtimes/build-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ jobs:
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
managedTestBuildOsGroup: ${{ parameters.osGroup }}
managedTestBuildOsSubgroup: ${{ parameters.osSubgroup }}
container: ${{ parameters.container }}
runtimeVariant: ${{ parameters.runtimeVariant }}
testGroup: ${{ parameters.testGroup }}
Expand All @@ -53,13 +51,13 @@ jobs:
${{ if eq(variables['System.TeamProject'], 'internal') }}:
continueOnError: true

# Compute job name from template parameters
${{ if eq(parameters.testGroup, 'innerloop') }}:
name: '${{ parameters.runtimeFlavor }}_common_test_build_p0_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: '${{ parameters.runtimeFlavorDisplayName }} Common Pri0 Test Build ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'

name: '${{ parameters.runtimeFlavor }}_common_test_build_p0_AnyOS_AnyCPU_${{ parameters.buildConfig }}'
displayName: '${{ parameters.runtimeFlavorDisplayName }} Common Pri0 Test Build AnyOS AnyCPU ${{ parameters.buildConfig }}'
${{ if ne(parameters.testGroup, 'innerloop') }}:
name: '${{ parameters.runtimeFlavor }}_common_test_build_p1_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: '${{ parameters.runtimeFlavorDisplayName }} Common Pri1 Test Build ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'
name: '${{ parameters.runtimeFlavor }}_common_test_build_p1_AnyOS_AnyCPU_${{ parameters.buildConfig }}'
displayName: '${{ parameters.runtimeFlavorDisplayName }} Common Pri1 Test Build AnyOS AnyCPU ${{ parameters.buildConfig }}'

# Since the condition is being altered, merge the default with the additional conditions.
# See https://docs.microsoft.com/azure/devops/pipelines/process/conditions
Expand Down Expand Up @@ -118,7 +116,7 @@ jobs:
displayName: Disk Usage before Build
# Build managed test components
- script: $(coreClrRepoRootDir)build-test$(scriptExt) skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(crossArg) $(priorityArg) ci $(librariesOverrideArg)
- script: $(coreClrRepoRootDir)build-test$(scriptExt) allTargets skipstressdependencies skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(crossArg) $(priorityArg) ci $(librariesOverrideArg)
displayName: Build managed test components

- ${{ if in(parameters.osGroup, 'OSX', 'iOS','tvOS') }}:
Expand All @@ -132,11 +130,11 @@ jobs:
parameters:
rootFolder: $(managedTestArtifactRootFolderPath)
includeRootFolder: false
archiveType: $(archiveType)
tarCompression: $(tarCompression)
archiveExtension: $(archiveExtension)
artifactName: $(managedTestArtifactName)
displayName: 'managed test components'
archiveExtension: '.tar.gz'
archiveType: tar
tarCompression: gz
artifactName: $(managedGenericTestArtifactName)
displayName: 'managed test components (generic)'


# Publish .packages/microsoft.net.sdk.il needed for traversing
Expand All @@ -145,9 +143,9 @@ jobs:
parameters:
rootFolder: $(microsoftNetSdkIlFolderPath)
includeRootFolder: false
archiveType: $(archiveType)
tarCompression: $(tarCompression)
archiveExtension: $(archiveExtension)
archiveType: tar
tarCompression: gz
archiveExtension: '.tar.gz'
artifactName: $(microsoftNetSdkIlArtifactName)
displayName: 'Microsoft.NET.Sdk.IL package'

Expand All @@ -157,6 +155,6 @@ jobs:
displayName: Publish Logs
inputs:
targetPath: $(Build.SourcesDirectory)/artifacts/log
artifactName: '${{ parameters.runtimeFlavor }}_Common_Runtime_TestBuildLogs_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)_${{ parameters.testGroup }}'
artifactName: '${{ parameters.runtimeFlavor }}_Common_Runtime_TestBuildLogs_AnyOS_AnyCPU_$(buildConfig)_Lib${{ parameters.liveLibrariesBuildConfig }}_${{ parameters.testGroup }}'
continueOnError: true
condition: always()
27 changes: 15 additions & 12 deletions eng/pipelines/common/templates/runtimes/run-test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ parameters:
archType: ''
osGroup: ''
osSubgroup: ''
managedTestBuildOsGroup: ''
managedTestBuildOsSubgroup: ''
container: ''
testGroup: ''
crossrootfsDir: ''
Expand Down Expand Up @@ -37,8 +35,6 @@ jobs:
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
osSubgroup: ${{ parameters.osSubgroup }}
managedTestBuildOsGroup: ${{ parameters.managedTestBuildOsGroup }}
managedTestBuildOsSubgroup: ${{ parameters.managedTestBuildOsSubgroup }}
container: ${{ parameters.container }}
testGroup: ${{ parameters.testGroup }}
crossrootfsDir: ${{ parameters.crossrootfsDir }}
Expand All @@ -57,9 +53,9 @@ jobs:
dependsOn:
- ${{ if ne(parameters.corefxTests, true) }}:
- ${{ if eq(parameters.testGroup, 'innerloop') }}:
- '${{ parameters.runtimeFlavor }}_common_test_build_p0_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_${{ parameters.archType }}_${{parameters.buildConfig }}'
- '${{ parameters.runtimeFlavor }}_common_test_build_p0_AnyOS_AnyCPU_${{parameters.buildConfig }}'
- ${{ if ne(parameters.testGroup, 'innerloop') }}:
- '${{ parameters.runtimeFlavor }}_common_test_build_p1_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_${{ parameters.archType }}_${{parameters.buildConfig }}'
- '${{ parameters.runtimeFlavor }}_common_test_build_p1_AnyOS_AnyCPU_${{parameters.buildConfig }}'
- ${{ if ne(parameters.stagedBuild, true) }}:
- ${{ format('{0}_{1}_product_build_{2}{3}_{4}_{5}', parameters.runtimeFlavor, parameters.runtimeVariant, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
- ${{ if ne(parameters.liveLibrariesBuildConfig, '') }}:
Expand Down Expand Up @@ -195,9 +191,9 @@ jobs:
- template: /eng/pipelines/common/download-artifact-step.yml
parameters:
unpackFolder: '$(managedTestArtifactRootFolderPath)'
artifactFileName: '$(managedTestArtifactName)$(archiveExtension)'
artifactName: '$(managedTestArtifactName)'
displayName: 'managed test artifacts (built on ${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }})'
artifactFileName: '$(managedGenericTestArtifactName).tar.gz'
artifactName: '$(managedGenericTestArtifactName)'
displayName: 'generic managed test artifacts'


# Download product binaries directory
Expand All @@ -218,13 +214,14 @@ jobs:
artifactName: '$(coreClrProductArtifactName)'
displayName: 'CoreCLR product download for Mono'


# Download and unzip the Microsoft.NET.Sdk.IL package needed for traversing
# ilproj test projects during copynativeonly.
- ${{ if ne(parameters.corefxTests, true) }}:
- template: /eng/pipelines/common/download-artifact-step.yml
parameters:
unpackFolder: '$(microsoftNetSdkIlFolderPath)'
artifactFileName: '$(microsoftNetSdkIlArtifactName)$(archiveExtension)'
artifactFileName: '$(microsoftNetSdkIlArtifactName).tar.gz'
artifactName: '$(microsoftNetSdkIlArtifactName)'
displayName: 'Microsoft.NET.Sdk.IL package'

Expand All @@ -245,7 +242,7 @@ jobs:
# the native artifacts to the final test folders is dependent on availability of the
# managed test artifacts.
- ${{ if ne(parameters.corefxTests, true) }}:
- script: $(coreClrRepoRootDir)build-test$(scriptExt) copynativeonly $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg)
- script: $(coreClrRepoRootDir)build-test$(scriptExt) skipstressdependencies copynativeonly $(crossgenArg) $(buildConfig) $(archType) $(priorityArg) $(librariesOverrideArg)
displayName: Copy native test components to test output folder


Expand All @@ -260,9 +257,15 @@ jobs:
displayName: Generate test wrappers


# Compose the Core_Root folder containing all artifacts needed for running
# CoreCLR tests.
- script: $(coreClrRepoRootDir)build-test$(scriptExt) generatelayoutonly $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg)
displayName: Generate CORE_ROOT


# Crossgen framework assemblies prior to triggering readyToRun execution runs.
- ${{ if eq(parameters.readyToRun, true) }}:
- script: $(coreClrRepoRootDir)build-test$(scriptExt) skipmanaged skipnative $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg)
- script: $(coreClrRepoRootDir)build-test$(scriptExt) crossgenframeworkonly $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg)
displayName: Crossgen framework assemblies

# Overwrite coreclr runtime binaries with mono ones
Expand Down
8 changes: 1 addition & 7 deletions eng/pipelines/coreclr/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,7 @@ jobs:
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- Linux_arm
- Linux_arm64
- OSX_x64
- Windows_NT_arm
- Windows_NT_arm64
- Windows_NT_x64
- Windows_NT_x86
- CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
testGroup: outerloop
jobParameters:
liveLibrariesBuildConfig: Release
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/coreclr/crossgen2-composite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ jobs:
- Linux_x64
- OSX_x64
- Windows_NT_x64
- CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
jobParameters:
testGroup: innerloop

Expand All @@ -32,8 +33,7 @@ jobs:
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- OSX_x64
- Windows_NT_x64
- CoreClrTestBuildHost # Either OSX_x64 or Linux_x64
jobParameters:
testGroup: innerloop
liveLibrariesBuildConfig: Release
Expand Down
Loading

0 comments on commit 9e09fe3

Please sign in to comment.