Conversation
Collaborator
|
I suspect this PR is equivalent to "get the full test suite passing," which we've talked about wanting to do but hasn't quite been prioritized :) |
Collaborator
Author
|
Yeah. I just wanted to throw up the PR to see what kind of damage we were looking at for enabling the full test harness. It looks substantial :/ |
0e37663 to
c3eb94d
Compare
ae6c130 to
587cde5
Compare
c7381c9 to
0bfc6cc
Compare
6ce760e to
2ea873e
Compare
Docker on aarch64 macOS will automagically virtualize x86-64 containers if containers are spawned with `platform=linux/amd64`. Performance of spawned containers is a bit slower than native, but not horrible. This functionality means it is viable to develop Linux x86-64 from modern Apple hardware. This commit teaches the build system to support cross-compiling Linux x86-64 from macOS aarch64. Implementing this wasn't too difficult: we need to pass `platform` into Docker's APIs for building and creating containers. We need to teach code to resolve the effective host platform when this scenario is detected. And we need to advertise support for cross-compiling in the `targets.yml` file. In case you are wondering, yes, a similar solution could be employed for Linux too by using emulation. But this requires Docker be configured to support emulation, which isn't common. Rosetta on macOS "just works" and is therefore the lowest hanging fruit to implement.
A couple of tests appear to have race conditions on freethreaded builds on machines with a sufficient number of CPU cores. (These feel like CPython bugs, which I will report later.) We disable these tests during PGO training as a workaround.
To test how fast CI can go.
Default runners have 2 CPUs. We can achieve a nice speed-up (but not quite linear) by leveraging runners with more CPUs.
This will run all tests, ensuring maximal training coverage. As part of this, we had to annotate/ignore every failing test because test failures would otherwise fail the build.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This will run all tests by default and ensure we have maximal training coverage for PGO.