idaes-pse
idaes-pse copied to clipboard
Widespread test failures with Ubuntu 24.04, including `ubuntu-latest` GHA runner image
trafficstars
Symptoms
Widespread test failures (hundreds of tests failing), with error messages involving solvers and/or external functions not being found: e.g. from https://github.com/IDAES/idaes-pse/actions/runs/11286619805/job/31391269153
Probable cause
- Sometimes in the last few days, the
ubuntu-latestGHA runner image was updated so that it now points to Ubuntu 24.04 (ubuntu-24.04) from the previous default ofubuntu-22.04 - To the best of my knowledge,
idaes-extdoes not have a build for Ubuntu 24.04, andidaes get-extensionsreports as much, but does not seem to raise an error:
When will things work/not work?
- If the GitHub Actions runner image is specified as
ubuntu-20.04orubuntu-22.04, we expect things to work (i.e. tests should pass): https://github.com/IDAES/idaes-pse/blob/0e05ed1410b83b5509efe68aa9e49026404e8db0/.github/workflows/core.yml#L97 - If the GHA runner image is specified as
ubuntu-latest(orubuntu-24.04), we expect things to not work (i.e. most if not all tests involving solvers and/or external functions): https://github.com/IDAES/idaes-pse/blob/0e05ed1410b83b5509efe68aa9e49026404e8db0/.github/workflows/core.yml#L228 - The above only applies to code that solves IDAES models (i.e. code that normally would fail if IDAES extensions are not available). Anything else (e.g. spell checker, Pylint, utility CI jobs) should continue to work with
ubuntu-latest/ubuntu-24.04
Possible remedies
- Short-term: update the failing GHA jobs to specify
runs-on: ubuntu-22.04 - Long(er) term:
- Add support for Ubuntu 24.04 in the IDAES extensions
- Consider adding logic (perhaps requiring an optional flag, e.g.
idaes get-extensions --strictor something) so thatidaes get-extensionsexits with failure if a supported/compatible platform is not found