Skip to content

Conversation

@khaeru
Copy link
Member

@khaeru khaeru commented Jul 13, 2025

Parallel to iiasa/ixmp#586, use a version of Java compatible with JPype1 v1.6.0. This version of JPype was released 2025-07-07 and triggered failures of the windows-latest-py3.1[123] and windows-latest tutorials scheduled testing jobs, for instance here.

  • I initially tried the settings:
    distribution: 'temurin'
    java-version: 11
  • This caused (here) all the Windows jobs to fail with java.lang.OutOfMemoryError: Java heap space.
  • I imagine this is due to different memory usage characteristics of (a) the underlying Java version, (b) JPype, (c) ixmp_source, or (d) some interaction of the first three, such that more memory is used.
  • The PR now uses the latest Java version, 21, that is in the tool cache on Windows runners.
  • This is sufficient for CI, i.e. the jobs will again pass. The idea of using Java 11 follows the principle of “ensure that the claimed oldest supported version(s) do, in fact, work”—using older versions also serves a ‘canary’ purpose so we can notice when (a) things stop working or (b) we add new code that is not compatible with versions we claim to support. Time does not allow to diagnose or adjust for the heap space issues with Java 11.

How to review

Note that the CI checks all pass on the jobs labeled "(pull_request)" (not pull_request_target) → run #2855.

PR checklist

  • Continuous integration checks all ✅
  • Add or expand tests; coverage checks both ✅
  • Add, expand, or update documentation.
  • Update release notes.
  • (after approval, before merge) Drop the TEMPORARY commit(s).

@khaeru khaeru self-assigned this Jul 13, 2025
@khaeru khaeru added the ci Continuous integration label Jul 13, 2025
@codecov
Copy link

codecov bot commented Jul 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.0%. Comparing base (eea9340) to head (55e1e83).
⚠️ Report is 81 commits behind head on main.

Additional details and impacted files
@@          Coverage Diff          @@
##            main    #962   +/-   ##
=====================================
  Coverage   96.0%   96.0%           
=====================================
  Files         53      53           
  Lines       5026    5026           
=====================================
  Hits        4829    4829           
  Misses       197     197           

@khaeru khaeru changed the title Use Java 11 on Windows GHA runners Use Java 21 on Windows GHA runners Jul 14, 2025
- Document minimum JRE for JPype 1.6.
- Add JPype to intersphinx inventories.
@khaeru khaeru added the docs Documentation label Jul 14, 2025
@khaeru khaeru merged commit 9fce44b into main Jul 14, 2025
7 of 25 checks passed
@khaeru khaeru deleted the ci/jpype-1.6 branch July 14, 2025 08:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Continuous integration docs Documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant