Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[build] Create clr.host subset to remove patching step for mono runtime tests #62500

Merged
merged 5 commits into from
Dec 9, 2021

Conversation

naricc
Copy link
Contributor

@naricc naricc commented Dec 7, 2021

This pr creates a clr.hosts subset that allows corerun to be built independently from coreclr. It also copies the mono version of libcoreclr to the core_root directory during the runtime test build, so that corerun will use it when running the tests.

This simplifies the process of running the runtime tests against mono, by removing the requirement to build coreclr first and the patch it with mono libraries. This should make it easier to reproduce the test runs locally, and also remove a potential source of erros in CI.

There will be follow up PRs to enable CI to actually use this.

I am sure I must have missed some necessary checks somewhere, but this seems to work locally.

This partially addresses #43952 but I will need to do the CI component before that is complete.

Contributes to #58266

lambdageek and others added 2 commits December 1, 2021 15:57
Define a 'hosts' component in the CoreCLR build that just builds corerun and
coreshim.

Define a 'clr.hosts' subset for the toplevel `build.sh`/`build.cmd` scripts

Goal is to be able to build corerun without any other native CoreCLR code in
order to run tests with Mono
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label.

@ghost
Copy link

ghost commented Dec 7, 2021

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

Issue Details

This pr creates a clr.hosts subset that allows corerun to be built independently from coreclr. It also copies the mono version of libcoreclr to the core_root directory during the runtime test build, so that corerun will use it when running the tests.

This simplifies the process of running the runtime tests against mono, by removing the requirement to build coreclr first and the patch it with mono libraries. This should make it easier to reproduce the test runs locally, and also remove a potential source of erros in CI.

There will be follow up PRs to enable CI to actually use this.

I am sure I must have missed some necessary checks somewhere, but this seems to work locally.

This partially addresses #43952 but I will need to do the CI component before that is complete.

Author: naricc
Assignees: -
Labels:

area-Infrastructure

Milestone: -

Copy link
Member

@trylek trylek left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@naricc naricc changed the title Create clr.host subset to remove patching step for mono runtime tests [build] Create clr.host subset to remove patching step for mono runtime tests Dec 7, 2021
Copy link
Member

@lambdageek lambdageek left a comment

Choose a reason for hiding this comment

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

A few nits:

  1. use the TargetsXYZ props consistently
  2. we missed tvOS
  3. style nit:'$(Cond)' == 'true' like elsewhere

src/tests/Common/Directory.Build.targets Outdated Show resolved Hide resolved
src/tests/Common/Directory.Build.targets Outdated Show resolved Hide resolved
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants