Improve MSYS2-based CI builds. #14188
Merged
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 builds on #10263, fixing a mistake I once made when writing the MSYS2 installation instructions: the correct (well, for what we need) package to install for Python on MSYS2 is
<mingwprefix>-python3
not plainpython3
. This way one single Python version can be used both for running run-tests.py and getting the expected test output.Note these days MSYS2 also has an 'ucrt64' environment which apparently has a bunch of floating point related fixes we've sort of long been waiting for, but it's unclear to me if
mingw64
is going to be deprecated so I only added a comment about that.@dlech FYI
Now, I only figured this out after RDP-ing into the action runner because I didn't notice at first that the way I setup my local MSYS2 environment used different instructions from the one in windows/README.md. However the process to RDP into a github action runner mentioned in #10263 does not work anymore since that repository has been disabled due to a violation of GitHub's terms of service. I skimmed over those terms but really have no idea which terms exactly.. @dpgeorge these instructions can be pretty useful imo, and the basic principle is simple enough and there are multiple solutions to implement it, but I have no idea if I can post them here and/or include them in the docs somewhere - what do you think?