Skip to content

Conversation

@jakobbotsch
Copy link
Member

@jakobbotsch jakobbotsch commented May 11, 2022

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:

 # ________________________________________
 # | 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 |

@ghost
Copy link

ghost commented May 11, 2022

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

Issue Details

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.

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 |
Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-Infrastructure-libraries

Milestone: -

@jakobbotsch
Copy link
Member Author

Note that the only arm64 job we run with checked coreclr + libraries tests is linux-musl-arm64. Yet we run both linux-arm and linux-musl-arm in the configuration. I think it would make sense to switch linux-arm or linux-musl-arm to linux-arm64 due to the importance of these platforms. Any objections or thoughts on this?

@dotnet/runtime-infrastructure @dotnet/area-infrastructure-libraries @jkotas @danmoseley

@jakobbotsch
Copy link
Member Author

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.

@danmoseley
Copy link
Member

Seems reasonable to me

@jakobbotsch
Copy link
Member Author

jakobbotsch commented May 11, 2022

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:

  • win-x86 libraries does not need to be built in debug always, only for coreclr changes (preexisting)
  • linux-arm, linux-musl-arm and linux-musl-arm64 no longer need to be built in debug for coreclr changes

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.

@ghost
Copy link

ghost commented May 12, 2022

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

Issue Details

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:

 # ________________________________________
 # | 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 |
Author: jakobbotsch
Assignees: jakobbotsch
Labels:

area-Infrastructure-coreclr

Milestone: -

@jakobbotsch jakobbotsch marked this pull request as ready for review May 16, 2022 10:15
@jakobbotsch jakobbotsch requested a review from a team May 16, 2022 10:15
- ${{ 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
Copy link
Member Author

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.

Comment on lines -759 to -761
- Linux_arm
- Linux_musl_arm
- Linux_musl_arm64
Copy link
Member Author

@jakobbotsch jakobbotsch May 16, 2022

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
Copy link
Member Author

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.

@jakobbotsch
Copy link
Member Author

ping @dotnet/runtime-infrastructure

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. 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.

@jakobbotsch jakobbotsch merged commit 2a99e18 into dotnet:main May 24, 2022
@jakobbotsch jakobbotsch deleted the checked-coreclr-runtime-libraries-tests-on-pr-validation branch May 24, 2022 08:43
@jakobbotsch
Copy link
Member Author

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.

@ghost ghost locked as resolved and limited conversation to collaborators Jun 23, 2022
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