- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5.2k
Switch checked coreclr + libraries tests configs around in PRs #69180
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
Switch checked coreclr + libraries tests configs around in PRs #69180
Conversation
| Tagging subscribers to this area: @dotnet/area-infrastructure-libraries Issue DetailsPreviously we did not run any checked coreclr + release libraries tests jobs in PR validation -- instead, we were running all platforms with checked coreclr + debug libraries tests. The change in matrix is the following:  # ________________________________________
 # | Platform         | PR      | Rolling |
 # | ---------------- | ---     | ------- |
 # | linux-musl-arm64 | Debug   | Release |
 # | linux-arm        | Debug   | Release |
 # | windows-x86      | Debug   | Release |
 # | Linux-musl-x64   | Debug   | Release |
-# | Linux-musl-arm   | Debug   | Release |
-# | Linux-x64        | Debug   | Release |
-# | Windows-x64      | Debug   | Release |
+# | Linux-musl-arm   | Release | Release |
+# | Linux-x64        | Release | Release |
+# | Windows-x64      | Release | Release |
 # | OSX-x64          | Debug   | Release |
 | 
| Note that the only  @dotnet/runtime-infrastructure @dotnet/area-infrastructure-libraries @jkotas @danmoseley | 
| We may also consider switching OSX-x64 to OSX-arm64. I believe OSX-x64 follows the normal SysV ABI while macOS-arm64 is special, so at least for the JIT macOS-arm64 is more interesting. | 
| Seems reasonable to me | 
| The new change looks like:  # ________________________________________
 # | Platform         | PR      | Rolling |
 # | ---------------- | ------- | ------- |
 # | windows-x86      | Debug   | Release |
 # | linux-musl-x64   | Debug   | Release |
 # | OSX-x64          | Debug   | Release |
-# | linux-arm        | Debug   | Release |
+# | linux-arm64      | Debug   | Release |
-# | linux-musl-arm   | Debug   | Release |
-# | linux-musl-arm64 | Debug   | Release |
-# | linux-x64        | Debug   | Release |
-# | windows-x64      | Debug   | Release |
+# | linux-musl-arm   | Release | Release |
+# | linux-musl-arm64 | Release | Release |
+# | linux-x64        | Release | Release |
+# | windows-x64      | Release | Release |This requires us to add extra linux-x64 and windows-x64 release libraries builds for coreclr changes, but we can also get rid of multiple other builds: 
 Changing OSX-x64 to OSX-arm64 is still left, but I think I will leave it to a follow up change as it takes some non-trivial evaluation of how the build dependencies change. | 
| Tagging subscribers to this area: @hoyosjs Issue DetailsPreviously we did not run any checked coreclr + release libraries tests jobs in PR validation -- instead, we were running all platforms with checked coreclr + debug libraries tests. We now run checked coreclr + libraries tests, where the libraries tests are compiled in the following configurations in PRs/rolling:  # ________________________________________
 # | Platform         | PR      | Rolling |
 # | ---------------- | ------- | ------- |
 # | windows-x86      | Debug   | Release |
 # | linux-musl-x64   | Debug   | Release |
 # | OSX-x64          | Debug   | Release |
-# | linux-arm        | Debug   | Release |
+# | linux-arm64      | Debug   | Release |
-# | linux-musl-arm   | Debug   | Release |
-# | linux-musl-arm64 | Debug   | Release |
-# | linux-x64        | Debug   | Release |
-# | windows-x64      | Debug   | Release |
+# | linux-musl-arm   | Release | Release |
+# | linux-musl-arm64 | Release | Release |
+# | linux-x64        | Release | Release |
+# | windows-x64      | Release | Release |
 | 
| - ${{ if eq(variables['isRollingBuild'], false) }}: | ||
| # we need to build windows_x86 for debug on PRs in order to test | ||
| # against a checked runtime when the PR contains coreclr changes | ||
| - windows_x86 | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This build was only necessary on coreclr changes.
| - Linux_arm | ||
| - Linux_musl_arm | ||
| - Linux_musl_arm64 | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These three debug builds are no longer needed: we no longer run Linux_arm in PRs (replaced by Linux_arm64) and Linux_musl_arm/Linux_musl_arm64 now run in release for coreclr changes. However, windows-x86 is moved here (see comment above).
| - windows_x86 | ||
| - windows_arm | ||
| - windows_arm64 | ||
| - Linux_arm | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unintentional change, but don't want to run CI again.
| ping @dotnet/runtime-infrastructure | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. There’s also a markdown doc in /docs/infra that I’ve been trying to add some of this info to. I think your table would be helpful there.
| 
 I'll open a PR to add the table to that document. | 
Previously we did not run any checked coreclr + release libraries tests jobs in PR validation -- instead, we were running all platforms with checked coreclr + debug libraries tests.
We now run checked coreclr + libraries tests, where the libraries tests are compiled in the following configurations in PRs/rolling: