-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Mac and Windows to CI #304
Conversation
Haha, I see some failure on Windows 😆 |
One issue closed, four open! But at least now we know that all the important stuff works as intended on all OSs! 🥳 Ready to merge, then I'll add the cache in xDEM to speed up CI, that can take up to 30min right now... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good !
CI will take even longer now, but hopefully the cache will speed things up.
Merging as there's only two comments added in the code since the last approval |
Summary
This PR adds Windows and Mac to the full test suite run during CI. We now have 9 jobs running in CI (Python
3.8
,3.9
and3.10
for Ubuntu, Windows and Mac).All core functionalities are working, however a couple little issues remain, opened for later work: making outputs of SciPy fully consistent between OS due to floating point considerations, making Sphinx work on all OS, and making PROJ work on Windows to use
proj-data
grids.In details
This PR:
PROJ_LIB
variable during CI to allowrasterio
to import correctly, otherwise failing on Windows. This fix is recommended by https://rasterio.readthedocs.io/en/latest/faq.html#why-can-t-rasterio-find-proj-db-rasterio-from-pypi-versions-1-2-0. Curiously, this is not needed in GeoUtils' CI, I couldn't figure why it fails in xDEM exactly (similar environments);scipy.optimize.least_squares
after setting a lowerxtol
to ensure the optimized parameters found are the same between OSs. This works to get the exact same output ofNuthKaab()
co-registration on Windows and Linux, but somehow still differs on Mac... Added a comment on this in issue Fix results ofscipy.optimize
between OS #310.scipy.optimize.basin_hopping
but thextol
parameter does not exist as such, we would need to derive the tolerance of the parameter from the scipy method andftol
orgtol
parameters, opened issue Fix results ofscipy.optimize
between OS #310;proj-data
intest_dem.py
on Windows, that currently can't be found, opened issuePROJ
grids not found on Windows #311;TypeError: 'module' object is not callable
whenxdem.examples.get_path()
is called, notably inexamples/*/plot_*.py
scripts forsphinx-gallery
, opened Sphinx fails when building on Mac or Windows #316.Unrelated but needed to fix bugs related to package updates, this PR:
openh264
inenvironment.yml
at2.3.0
(on whichopencv
depends), as it started failing with2.3.1
on 24.09.22 (probably an erroneous release from them...), opened Remove fixed version of openh264... #317;pre-commit
hooks to solve amypy
issue with the latest Python 3.10 version: Positional-only parameters with python 3.10.7 (and numpy) (fixed in 0.981) python/mypy#13627;RuntimeWarning
withtrue_divide
, as those can be simply calleddivide
now.Resolves #126