Skip to content

Add alias CoreClrTestBuildHost - #36256

Merged
sdmaclea merged 2 commits into
dotnet:dev/infrastructurefrom
sdmaclea:infra/OsxBuildsAllTargets
May 13, 2020
Merged

Add alias CoreClrTestBuildHost#36256
sdmaclea merged 2 commits into
dotnet:dev/infrastructurefrom
sdmaclea:infra/OsxBuildsAllTargets

Conversation

@sdmaclea

Copy link
Copy Markdown
Contributor

Add alias CoreClrTestBuildHost

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

Cherry-pick @jashook's infra changes.

sdmacleaand others added 2 commits May 11, 2020 20:48
Intended to allow easy switching of test build host between OSX_x64 & Linux_x64
depending on availablility and reliability.
@sdmacleasdmaclea added the area-Infrastructure-coreclr Only use for closed issues label May 12, 2020
@sdmaclea
sdmaclea requested review from jashook and trylekMay 12, 2020 00:52
@sdmacleasdmaclea self-assigned this May 12, 2020
@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

This was a very simple approach. There maybe better... Let me know if you prefer a different approach.

It is clear for the simple pipelines we could/should have a single template to build libraries+coreclr, build coreclr tests, and run coreclr tests. I'll open an issue, so I/we don't forget.

@trylektrylek left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor

Looks like the failures here are consistent with the ones on #36299. This didn't seem to cause any regressions.

The #36253 patch seems to have included some of my work to stop disabling tests using issues.targets. W/O CI, I missed it.

So the 200 tests which aren't supposed to be run on Linux are not passing as expected. I'll open a separate PR.

@sdmaclea
sdmaclea deleted the infra/OsxBuildsAllTargets branch May 13, 2020 15:35
jashook pushed a commit to jashook/runtime that referenced this pull request May 26, 2020
* Add alias CoreClrTestBuildHost
Intended to allow easy switching of test build host between OSX_x64 & Linux_x64
depending on availablility and reliability.
jashook pushed a commit that referenced this pull request Jun 4, 2020
* 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 <jashoo@microsoft.com>
* 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 <Steve.MacLean@microsoft.com>
Co-authored-by: Tomáš Rylek <trylek@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
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 <andya@microsoft.com>
Co-authored-by: Adeel Mujahid <adeelbm@outlook.com>
Co-authored-by: Ganbarukamo41 <ganbarukamo@gmail.com>
Co-authored-by: monojenkins <jo.shields+jenkins@xamarin.com>
Co-authored-by: thaystg <thaystg@users.noreply.github.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Kevin Jones <kevin@vcsjones.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Egor Bogatov <egorbo@gmail.com>
Co-authored-by: Simon Nattress <nattress@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <alklig@microsoft.com>
Co-authored-by: Krzysztof Wicher <kwicher@microsoft.com>
Co-authored-by: Kunal Pathak <Kunal.Pathak@microsoft.com>
Co-authored-by: Carol Eidt <carol.eidt@microsoft.com>
Co-authored-by: Shimmy <2716316+weitzhandler@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Layomi Akinrinade <laakinri@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
Co-authored-by: Alexander Chermyanin <flamencist@mail.ru>
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Co-authored-by: Sergey Andreenko <seandree@microsoft.com>
Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com>
Co-authored-by: Steve Pfister <steveisok@users.noreply.github.com>
Co-authored-by: David Wrighton <davidwr@microsoft.com>
Co-authored-by: buyaa-n <bunamnan@microsoft.com>
Co-authored-by: Krzysztof Wicher <mordotymoja@gmail.com>
Co-authored-by: Vladimir Sadov <vsadov@microsoft.com>
Co-authored-by: Leandro Pereira <leandro.pereira@microsoft.com>
Co-authored-by: Swaroop Sridhar <swaroop.sridhar@microsoft.com>
Co-authored-by: Marie Píchová <11718369+ManickaP@users.noreply.github.com>
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Co-authored-by: Manish Godse <61718172+mangod9@users.noreply.github.com>
Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
Co-authored-by: Alexis Christoforides <alexis@thenull.net>
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
Co-authored-by: Alfred Myers <git@alfredmyers.com>
Co-authored-by: Nick Craver <nrcraver@gmail.com>
Co-authored-by: Nathan Ricci <naricc@microsoft.com>
Co-authored-by: Thays Grazia <thaystg@gmail.com>
Co-authored-by: Yoh Deadfall <yoh.deadfall@hotmail.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Jo Shields <directhex@apebox.org>
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Co-authored-by: Anirudh Agnihotry <anirudhagnihotry098@gmail.com>
Co-authored-by: Roman Marusyk <Marusyk@users.noreply.github.com>
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Co-authored-by: Youssef Victor <31348972+Youssef1313@users.noreply.github.com>
Co-authored-by: Ben Adams <thundercat@illyriad.co.uk>
Co-authored-by: Marek Safar <marek.safar@gmail.com>
Co-authored-by: Anton Lapounov <antonl@microsoft.com>
Co-authored-by: AraHaan <15173749+AraHaan@users.noreply.github.com>
Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
Co-authored-by: Tomas Weinfurt <furt@Shining.local>
Co-authored-by: David Cantu <dacantu@microsoft.com>
Co-authored-by: Sung Yoon Whang <suwhang@microsoft.com>
Co-authored-by: Levi Broderick <GrabYourPitchforks@users.noreply.github.com>
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Co-authored-by: David Mason <davmason@microsoft.com>
Co-authored-by: UnityAlex <UnityAlex@users.noreply.github.com>
Co-authored-by: Fan Yang <52458914+fanyang-mono@users.noreply.github.com>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
Co-authored-by: Egor Chesakov <Egor.Chesakov@microsoft.com>
Co-authored-by: radical <radical@users.noreply.github.com>
Co-authored-by: Ivan Diaz Sanchez <ivdiazsa@microsoft.com>
Co-authored-by: Gleb Balykov <g.balykov@samsung.com>
Co-authored-by: Honza Rameš <ramejan@gmail.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Co-authored-by: Ivan <ivanbuha@outlook.com>
Co-authored-by: Ryan Lucia <rylucia@microsoft.com>
Co-authored-by: SRV <roman.sakno@gmail.com>
Co-authored-by: Clinton Ingram <clinton.ingram@outlook.com>
Co-authored-by: Mikhail Pilin <ww898@users.noreply.github.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: w-flo <w-flo@users.noreply.github.com>
Co-authored-by: Peter Sollich <petersol@microsoft.com>
Co-authored-by: grendello <grendello@users.noreply.github.com>
Co-authored-by: Johan Lorensson <lateralusx.github@gmail.com>
Co-authored-by: Erhan Atesoglu <47518605+eanova@users.noreply.github.com>
Co-authored-by: Matt Mitchell <mmitche@microsoft.com>
Co-authored-by: Josh Schreuder <joshschreuder@gmail.com>
Co-authored-by: Josh Schreuder <josh.schreuder@gmail.com>
Co-authored-by: Andrew Au <andrewau@microsoft.com>
Co-authored-by: Eugene Rozenfeld <erozen@microsoft.com>
Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
Co-authored-by: Kenneth Pouncey <kjpou@pt.lu>
Co-authored-by: Kirill Frolov <k.frolov@samsung.com>
Co-authored-by: Tomas Weinfurt <furt@DESKTOP-0J9757E.corp.microsoft.com>
@BruceForstall

Copy link
Copy Markdown
Contributor

@sdmaclea@jashook@safern I notice after this that, for example, jitstress.yml contains:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/build-coreclr-and-libraries-job.yml
buildConfig: checked
platforms:
# Linux tests are built on the OSX machines. *************** Comment no longer correct?
- OSX_x64 *************** maybe this can be removed now?
- Linux_arm
- Linux_arm64
- Linux_x64
- Windows_NT_x64
- Windows_NT_x86
- Windows_NT_arm
- Windows_NT_arm64
- CoreClrTestBuildHost # Either OSX_x64 or Linux_x64

It looks like the OSX_x64 platform might have only been there because of the test build, and now might be able to be removed (along with the comment above it) due to the new CoreClrTestBuildHost.

It does look like maybe the tests are configured to run on OSX, but with the same (confusing?) comment above the OSX line in the run-test-job section -- confusing because it talks about the test build, and the platform list there should be about the test run

@jashook

Copy link
Copy Markdown
Contributor

Currently it does look like tests are being run on OSX. If that is not the expectation then yes it can be removed.

@jashook

Copy link
Copy Markdown
Contributor

The comment should also be updated as now all platform's tests are built on OSX

@sdmaclea

Copy link
Copy Markdown
ContributorAuthor
# Linux tests are built on the OSX machines. *************** Comment no longer correct?

Agree comment is out of date and probably misplaced

 - OSX_x64 *************** maybe this can be removed now?

Since the tests are being run on OSX, then this should stay.

The idea is that. Can be switched in the platform matrix from an alias to OSX to an alias to Linux_x64 without any side effects. So I want OSX listed if it is actually needed.

CoreClrTestBuildHost conceptually relies on the fact the the platform matrix checks for the existence of a target in the list and duplicates are automatically ignored.

I'll write a PR in master.

@ghostghost locked as resolved and limited conversation to collaborators Dec 9, 2020
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-coreclrOnly use for closed issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@sdmaclea@BruceForstall@jashook@trylek