geodynamics / burnman

BurnMan is a library for modeling mantle thermodynamics and thermoelasticity constrained by mineral physics experiments.
https://geodynamics.github.io/burnman/
GNU General Public License v2.0
54 stars 41 forks source link

Tests failing due to updates in required module(s) #532

Closed simonwmatthews closed 1 year ago

simonwmatthews commented 1 year ago

I noticed the test.sh script was failing on my local machine due to mismatched outputs from the scripts in the examples directory. The routine run by Github Actions also fails (for the same reason) when I push to a forked version of the repository:

***  End of file "/home/runner/work/burnman/burnman/misc/ref/tutorial_01_material_classes.py.out" reached while trying to read line 19.
***  File "tutorial_01_material_classes.py.tmp" has more lines than file "/home/runner/work/burnman/burnman/misc/ref/tutorial_01_material_classes.py.out",
***  line 19 is the last one read from file "tutorial_01_material_classes.py.tmp"

!  tutorial_01_material_classes.py ... FAIL
Check: /home/runner/work/burnman/burnman/tutorial/tutorial_01_material_classes.py.tmp /home/runner/work/burnman/burnman/misc/ref/tutorial_01_material_classes.py.out

***  End of file "/home/runner/work/burnman/burnman/misc/ref/tutorial_01_material_classes.py.out" reached while trying to read line 19.
***  File "tutorial_01_material_classes.py.tmp" has more lines than file "/home/runner/work/burnman/burnman/misc/ref/tutorial_01_material_classes.py.out",
***  line 19 is the last one read from file "tutorial_01_material_classes.py.tmp"

----------------
##19      <== BURNMAN/burnman/eos/debye.py: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.
          ==>

+++  File "tutorial_01_material_classes.py.tmp" differs from file "/home/runner/work/burnman/burnman/misc/ref/tutorial_01_material_classes.py.out"
Error: Process completed with exit code 1.

There has been an update to the numba package (0.57) since the main branch of the repository was last pushed to. Setting the version of numba required by burnman (in requirements.txt) to 0.55 allowed the testing routine to progress further, however a similar error caused by the interp2d deprecation in scipy appeared.

I suggest two actions:

  1. Updating burnman to maintain compatibility with the latest version of its required modules (at least numba and scipy are affected)
  2. Specifying versions of modules that burnman is compatible with in the requirements/setup files

While checking this, I also noticed that the indent action was also failing, though I have not had chance to look into what exactly is going on there.

In reference to: openjournals/joss-reviews/issues/5389

bobmyhill commented 1 year ago

Thanks! I've now: