Proposal: run the full test suite on all platforms, more often #20193
Replies: 4 comments
-
|
I'm +1 on 2, I think. And if it becomes too burdensome we can relax to 3 or 4. One thing I'll say though is in addition to this, we really ought to work on understanding the boat we're in. What I mean by that is:
|
Beta Was this translation helpful? Give feedback.
-
|
Just noting: with more testing on ARM macOS, we might've caught #20765 before cutting releases. (Depends on the details though, since that's sensitive to the exact arrangement of a stateful cache.) |
Beta Was this translation helpful? Give feedback.
-
|
GitHub now has more free public runners than it used to:
These may not be "perfect", e.g. we might want to build for older versions of macOS than 14 for releases. But they'd allow doing more good-enough testing cheaply, without over-burdening our self-hosted runners. |
Beta Was this translation helpful? Give feedback.
-
It would also be nice if we built wheels in a merge queue, as that is a historical source of breakage slipping in. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Currently, CI runs the full Pants test suite on Linux x86-64, via Github's free runners, but a only limited subset of them (marked
platform_specific_behavior"PSB") on the other three supported platforms, if at all. This means that problems can slip through when we don't realise something is platform specific, e.g. #19940 leading to #20184 (context).Summary of what both PR and post-merge CI does, as best I can tell:
^Rust tests and wheel-building only runs when required.
That is, there's some platforms that are completely untested, and others that only ever have limited testing.
Proposal: Running the full test suite on the hosted machines more often, somehow.
For instance:
mainand2.*.xbranches, e.g. nightly, weekly, that the MOTW checksI'm personally inclined towards 2, potentially using Github's recent-ish support for merge queues: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/merging-a-pull-request-with-a-merge-queue
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions