This is required to find the version of Cantera in the dist folder. By
default, pip only finds stable versions, and in this case, was going out
to PyPI to find Cantera rather than use the local artifact. However, we
can't set --no-index because we also need to install other dependencies
from PyPI.
This avoids potential conflicts between the versions of libhdf5 linked
to the Cantera library and h5py, which could occur when a C++ main
application made use of the Python ExtensibleRate class.
Linking to libpython with GitHub's Python 3.8 and 3.10 requires linking
to libintl, but no compatible version of this library is present in
the GitHub actions images (the Homebrew one has the wrong "macOS deployment
target"). This problem is fixed in GitHub's build of Python 3.11.
Scons 4.4.0 (and maybe other versions) can't be pip installed for the
Homebrew Python, since it tries to write man pages into an incorrect,
read-only directory.
The Homebrew-installed Python was never actually being used. All macOS
builds are done using Python cached in the GitHub actions image.
For some reason, setuptools thinks it needs to be able to find the user's
home directory to build a wheel, but on Windows this relies on an environment
variable (USERPROFILE) that we weren't by default passing in through SCons.
Matplotlib 3.6.0 introduced a new incidental warning which has nothing
to do with our code. This change ignores that warning so other warnings
can still be caught.
This avoids weird linker issues where the GitHub Actions Python
required linkage to libintl but the only available version of
libintl, installed in Homebrew, was targeting a different macOS
version.
Due to the scarcity of GH provided runners, we'll only do one macOS version for now. The lead developers tend to run the latest macOS locally anyways, so it shouldn't be a problem to catch issues as they arise.