@@ -304,7 +304,14 @@ jobs:
304304 python -m pip install --cache-dir cache/pip pymysql || \
305305 python -m pip install --cache-dir cache/pip pymysql
306306 if test -z "${{matrix.slim}}"; then
307- python -m pip install --cache-dir cache/pip 'cplex!=22.1.2.1' docplex \
307+ # Disallow cplex 22.1.2.1 because it errors fatally when
308+ # computing IIS on python 3.13 and 3.14
309+ if [[ ${{matrix.python}} =~ 3.1[34] ]]; then
310+ CPLEX='cplex!=22.1.2.1'
311+ else
312+ CPLEX='cplex'
313+ fi
314+ python -m pip install --cache-dir cache/pip "$CPLEX" docplex \
308315 || echo "WARNING: CPLEX Community Edition is not available"
309316 python -m pip install --cache-dir cache/pip gurobipy \
310317 || echo "WARNING: Gurobi is not available"
@@ -375,6 +382,18 @@ jobs:
375382 # possibly if it outputs messages to stderr)
376383 conda install --update-deps -q -y python="${{matrix.python}}" $CONDA_DEPENDENCIES
377384 if test -z "${{matrix.slim}}"; then
385+ TIMEOUT_MSG="TIMEOUT: killing conda install process"
386+ PYVER=$(echo "py${{matrix.python}}" | sed 's/\.//g')
387+ echo "Installing for $PYVER"
388+ #
389+ # Disallow cplex 22.1.2 and 22.1.2.1, as they error fatally when
390+ # computing IIS on Python 3.13 and 3.14
391+ # Disallow cplex 12.9 (caused segfaults in tests)
392+ if [[ ${{matrix.python}} =~ 3.1[34] ]]; then
393+ CPLEX='cplex>=12.10,<22.1.2|>22.1.2.1'
394+ else
395+ CPLEX='cplex>=12.10'
396+ fi
378397 # xpress.init() (xpress 9.5.1 from conda) hangs indefinitely
379398 # on GHA/Windows under Python 3.10 and 3.11. Exclude that
380399 # release on that platform.
@@ -387,10 +406,7 @@ jobs:
387406 else
388407 XPRESS='xpress'
389408 fi
390- TIMEOUT_MSG="TIMEOUT: killing conda install process"
391- PYVER=$(echo "py${{matrix.python}}" | sed 's/\.//g')
392- echo "Installing for $PYVER"
393- for PKG in 'cplex>=12.10' docplex gurobi "$XPRESS" cyipopt pymumps scip; do
409+ for PKG in "$CPLEX" docplex gurobi "$XPRESS" cyipopt pymumps scip; do
394410 echo ""
395411 echo "*** Install $PKG ***"
396412 echo ""
0 commit comments