Skip to content

Conversation

@khaeru
Copy link
Member

@khaeru khaeru commented Nov 11, 2025

Per actions/runner-images#13046:

  • The macos-13 runner images are deprecated and will become unavailable.
  • A new image macos-15-intel is available.

The reason we were still using macos-13 is that message-ix-models still supports ixmp/message_ix v3.8 and v3.9. These versions neither (a) bundled binary GAMS libraries for arm64 (such as needed on the macos-latest runner) nor (b) included iiasa/ixmp#532 that adapted JDBCBackend to locate these libraries within the local GAMS installation. Thus, tests for these versions can't be run on arm64 systems (like macos-latest) and had to run on macos-13, which is x86-64. The new -intel image makes it possible to run the tests.

How to review

  • Read the diff/
  • Note that the CI checks all pass.

PR checklist

  • Continuous integration checks all ✅
  • Add or expand tests; coverage checks both ✅
  • Add, expand, or update documentation. N/A; CI changes only.
  • Update doc/whatsnew ditto.
  • (After approval, before merge) Rebase to drop the TEMPORARY commit.

@khaeru khaeru self-assigned this Nov 11, 2025
@khaeru khaeru force-pushed the ci/macos-13 branch 2 times, most recently from 1f8be76 to 42ebae1 Compare November 11, 2025 14:38
@codecov
Copy link

codecov bot commented Nov 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.8%. Comparing base (ccb9393) to head (1b6fb10).

Additional details and impacted files
@@           Coverage Diff           @@
##            main    #453     +/-   ##
=======================================
- Coverage   75.5%   74.8%   -0.7%     
=======================================
  Files        277     277             
  Lines      22674   22663     -11     
=======================================
- Hits       17136   16974    -162     
- Misses      5538    5689    +151     
Files with missing lines Coverage Δ
message_ix_models/model/transport/testing.py 100.0% <ø> (ø)
message_ix_models/testing/__init__.py 80.0% <ø> (-14.0%) ⬇️
...sage_ix_models/tests/model/transport/test_build.py 83.7% <ø> (-0.2%) ⬇️
...age_ix_models/tests/model/transport/test_demand.py 97.9% <ø> (-0.1%) ⬇️
...age_ix_models/tests/model/transport/test_report.py 94.3% <ø> (-0.2%) ⬇️
message_ix_models/tests/project/test_navigate.py 92.6% <ø> (-0.2%) ⬇️
message_ix_models/tests/test_workflow.py 100.0% <ø> (ø)

... and 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@khaeru
Copy link
Member Author

khaeru commented Nov 11, 2025

The job macos-15-latest-py3.14-upstream-v3.9.0 failed with:

Traceback (most recent call last):
  File "/Users/runner/work/message-ix-models/message-ix-models/.venv/bin/mix-models", line 4, in <module>
    from message_ix_models.cli import main
  File "/Users/runner/work/message-ix-models/message-ix-models/.venv/lib/python3.14/site-packages/message_ix_models/__init__.py", line 7, in <module>
    from message_ix_models.util._logging import setup as setup_logging
  File "/Users/runner/work/message-ix-models/message-ix-models/.venv/lib/python3.14/site-packages/message_ix_models/util/__init__.py", line 10, in <module>
    import message_ix
  File "/Users/runner/work/message-ix-models/message-ix-models/.venv/lib/python3.14/site-packages/message_ix/__init__.py", line 10, in <module>
    from ixmp import ModelError, config
  File "/Users/runner/work/message-ix-models/message-ix-models/.venv/lib/python3.14/site-packages/ixmp/__init__.py", line 7, in <module>
    from ixmp.backend.jdbc import JDBCBackend
  File "/Users/runner/work/message-ix-models/message-ix-models/.venv/lib/python3.14/site-packages/ixmp/backend/jdbc.py", line 15, in <module>
    import jpype
  File "/Users/runner/work/message-ix-models/message-ix-models/.venv/lib/python3.14/site-packages/jpype/__init__.py", line 18, in <module>
    import _jpype
ImportError: dlopen(/Users/runner/work/message-ix-models/message-ix-models/.venv/lib/python3.14/site-packages/_jpype.cpython-314-darwin.so, 0x0002): Library not loaded: /Users/runner/work/_temp/uv-python-dir/cpython-3.14.0-macos-x86_64-none/lib/libpython3.14.dylib
  Referenced from: <815392C5-0DE0-3774-9C28-802AB6299BDA> /Users/runner/work/message-ix-models/message-ix-models/.venv/lib/python3.14/site-packages/_jpype.cpython-314-darwin.so
  Reason: tried: '/Users/runner/work/_temp/uv-python-dir/cpython-3.14.0-macos-x86_64-none/lib/libpython3.14.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/runner/work/_temp/uv-python-dir/cpython-3.14.0-macos-x86_64-none/lib/libpython3.14.dylib' (no such file), '/Users/runner/work/_temp/uv-python-dir/cpython-3.14.0-macos-x86_64-none/lib/libpython3.14.dylib' (no such file)

I think this is because there are no pre-built binary wheels for JPype1 on Python 3.14/x86_64; see here. I tried to address this by dropping Python to 3.14 for this job (and the other -upstream-v3.9.0 jobs).

@khaeru khaeru added the ci Continuous integration & testing label Nov 11, 2025
@khaeru khaeru added this to the 2025-12 milestone Nov 11, 2025
@khaeru khaeru marked this pull request as ready for review November 11, 2025 16:26
@khaeru khaeru removed the request for review from r-aneeque November 11, 2025 16:26
Copy link
Member

@glatterf42 glatterf42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me for the most part. Just one question about this failure that we see only on ubuntu-latest-py3.14-upstream >= 3.11.0:

FAILED message_ix_models/tests/model/transport/test_report.py::test_simulated_iamc - AssertionError: assert {'Energy Serv...nger|LDV|BEV'} <= {'Transport|S...nger|LDV|BEV'}
  
  Extra items in the left set:
  'Final Energy|Transportation|Bus'
  'Energy Service|Transportation|Domestic Aviation'

Is that expected or should/could this be fixed by this PR, too?

@khaeru khaeru merged commit cb47229 into main Nov 12, 2025
7 of 8 checks passed
@khaeru khaeru deleted the ci/macos-13 branch November 12, 2025 09:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Continuous integration & testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants