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

Run NativeAOT tests when ILLink changes #88934

Merged
merged 1 commit into from
Jul 17, 2023

Conversation

vitek-karas
Copy link
Member

NativeAOT uses code from ILLinker - specifically we share lot of tests. So if these change we want to make sure it didn't break their usage in NativeAOT.

The comment change in the tests is to trigger this new rule in the CI - but we can keep the comment regardless.

This was found by #88678 which broke NativeAOT (#88922) because the CI for #88678 didn't run NativeAOT tests.

NativeAOT uses code from ILLinker - specifically we share lot of tests. So if these change we want to make sure it didn't break their usage in NativeAOT.

The comment change in the tests is to trigger this new rule in the CI - but we can keep the comment regardless.
@vitek-karas vitek-karas added this to the 8.0.0 milestone Jul 14, 2023
@vitek-karas vitek-karas requested a review from agocke July 14, 2023 21:28
@vitek-karas vitek-karas self-assigned this Jul 14, 2023
@ghost
Copy link

ghost commented Jul 14, 2023

Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas
See info in area-owners.md if you want to be subscribed.

Issue Details

NativeAOT uses code from ILLinker - specifically we share lot of tests. So if these change we want to make sure it didn't break their usage in NativeAOT.

The comment change in the tests is to trigger this new rule in the CI - but we can keep the comment regardless.

This was found by #88678 which broke NativeAOT (#88922) because the CI for #88678 didn't run NativeAOT tests.

Author: vitek-karas
Assignees: vitek-karas
Labels:

area-NativeAOT-coreclr

Milestone: 8.0.0

@radical
Copy link
Member

radical commented Jul 14, 2023

When do you run the NativeAOT tests?

For wasm we run only System.Runtime.Tests on PRs, because the full run is resource heavy. Currently, you need to run runtime-wasm specifically to get all the AOT tests to run. But I'm wondering now if we can follow the same idea and run these in runtime on PRs - but 1. smoke only by default for wasm; 2. all - if sure that it's needed.

That should catch other instances of illinker changes that might break stuff in wasm.

Copy link
Member

@agocke agocke left a comment

Choose a reason for hiding this comment

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

LGTM

@agocke
Copy link
Member

agocke commented Jul 14, 2023

@radical Right now we only run the tests when Native AOT or something else in the coreclr tools directory changes (which is mostly native aot and crossgen2). This also runs the tests when ILLink changes, but this is similarly low traffic.

Also, this is just the smoke tests. The full suite is in runtime-extra-platforms and doesn't run by default in PR.

@vitek-karas
Copy link
Member Author

Also - I should have been more specific. This will run the NativeAOT Unit tests - so tests which were written directly for the compiler. It will NOT run the AOTed libraries tests for example.

@radical
Copy link
Member

radical commented Jul 14, 2023

Thanks, that helps! 👍

@vitek-karas
Copy link
Member Author

All failures are known and the desired lag did run in CI.

@vitek-karas vitek-karas merged commit 2fc318d into dotnet:main Jul 17, 2023
@vitek-karas vitek-karas deleted the RunAOTOnILLinkChange branch July 17, 2023 08:06
@ghost ghost locked as resolved and limited conversation to collaborators Aug 16, 2023
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.

3 participants