iiasa / message_ix

The integrated assessment and energy systems model MESSAGEix
https://docs.messageix.org
Apache License 2.0
122 stars 154 forks source link

Drop outdated pin of JPype on CI #880

Closed glatterf42 closed 1 month ago

glatterf42 commented 1 month ago

Today's CI failures somewhat irritate me since we install anaconda and miniconda versions for Python 3.10, and conda info even shows this, but message-ix show-versions then shows that Python version 3.8.20 is used. 3.8 has just reached its end of life, so we can probably drop testing it and the main difference to the runs using newer versions is the pin of JPype 1.2.1. This version was released almost four years ago now (4.1.2021), so I think it's safe to remove this pin entirely rather than trying to debug the action.

How to review

Please note: this PR contains one commit that temporarily enables the action for this PR; that should be dropped before merging.

PR checklist

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.5%. Comparing base (7700a82) to head (c0356b6). Report is 2 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #880 +/- ## ===================================== Coverage 95.5% 95.5% ===================================== Files 46 46 Lines 4340 4340 ===================================== Hits 4148 4148 Misses 192 192 ```
khaeru commented 1 month ago

3.8 has just reached its end of life, so we can probably drop testing it and the main difference to the runs using newer versions is the pin of JPype 1.2.1.

Rather than “we can probably drop testing [3.8]”, it is our versioning policy to drop support for EOL Pythons and add support for new ones ASAP. This made me check and realize that we don't yet have a PR on message_ix parallel to iiasa/ixmp#544. Is it possible to expand this one to include parallel changes?

glatterf42 commented 1 month ago

True, good catch. Most of the required changes should be here now :) If the tests are successful, I can also declare the 3.13-tests as required instead of 3.12.

glatterf42 commented 1 month ago

The current failures arise from failing to build Python-3.13 wheels for pyarrow, which should be fixed once they release v18.0.0, but this has yet to happen.