diff --git a/.github/workflows/PR_license.yml b/.github/workflows/PR_license.yml index 576c0430..ab76b143 100644 --- a/.github/workflows/PR_license.yml +++ b/.github/workflows/PR_license.yml @@ -22,7 +22,7 @@ jobs: strategy: matrix: python-version: ["3.9", "3.10", "3.11", "3.12"] - gurobi-version: ["gurobi10", "gurobi11"] + gurobi-version: ["gurobi10", "gurobi11","gurobi12"] exclude: - python-version: "3.12" gurobi-version: "gurobi10" diff --git a/.github/workflows/PR_nolicense.yml b/.github/workflows/PR_nolicense.yml index a94a1603..ac6041ad 100644 --- a/.github/workflows/PR_nolicense.yml +++ b/.github/workflows/PR_nolicense.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: python-version: ["3.9", "3.10", "3.11", "3.12"] - gurobi-version: ["gurobi11"] + gurobi-version: ["gurobi11","gurobi12"] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 8940a5f1..37b1f476 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -20,7 +20,7 @@ jobs: strategy: matrix: python-version: ["3.9", "3.10", "3.11", "3.12"] - gurobi-version: ["gurobi10", "gurobi11"] + gurobi-version: ["gurobi10", "gurobi11","gurobi12"] exclude: - python-version: "3.12" gurobi-version: "gurobi10" @@ -54,7 +54,7 @@ jobs: run: | tox - name: Run examples with Gurobi 11 - if: ${{ (matrix.gurobi-version == 'gurobi11') && (matrix.python-version == '3.12') }} + if: ${{ (matrix.gurobi-version != 'gurobi10') && (matrix.python-version == '3.12') }} env: GRB_LICENSE_FILE: ${{ steps.write-license.outputs.grb_license_file }} GUROBI_VERSION: ${{ matrix.gurobi-version }} diff --git a/requirements.txt b/requirements.txt index 42a2b35c..5c12fee2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -gurobipy==11.0.3 +gurobipy==12.0.0 numpy==2.0.2 pandas==2.2.2 scikit-learn==1.5.2 diff --git a/tox.ini b/tox.ini index 8ca824e2..26dc46b7 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,7 @@ # package manager then this can be achieved with "brew install libomp". [tox] -envlist = {py39,py310,py311,py312}-{lightgbm,keras,pandas,pytorch,sklearn,xgboost,no_deps,all_deps}-{gurobi10,gurobi11},pre-commit,docs,examples-{gurobi10,gurobi11} +envlist = {py39,py310,py311,py312}-{lightgbm,keras,pandas,pytorch,sklearn,xgboost,no_deps,all_deps}-{gurobi10,gurobi11,gurobi12},pre-commit,docs,examples-{gurobi10,gurobi11,gurobi12} isolated_build = True [gh-actions] @@ -18,6 +18,7 @@ python = [gh-actions:env] GUROBI_VERSION = + gurobi12: gurobi12 gurobi11: gurobi11 gurobi10: gurobi10 @@ -29,7 +30,7 @@ allowlist_externals = /usr/bin/make commands = make html -[testenv:{py39,py310,py311,py312}-examples-{gurobi10,gurobi11}] +[testenv:{py39,py310,py311,py312}-examples-{gurobi10,gurobi11,gurobi12}] deps = -r{toxinidir}/requirements.tox.txt -r{toxinidir}/requirements.keras.txt @@ -43,6 +44,7 @@ deps = seaborn gurobi10: gurobipy==10.0.3 gurobi11: gurobipy==11.0.3 + gurobi12: gurobipy==12.0.0 changedir = {toxinidir}/notebooks allowlist_externals = /usr/bin/make @@ -80,30 +82,31 @@ deps = pytest-cov joblib gurobi10: gurobipy==10.0.3 - gurobi11: gurobipy==11.0.1 + gurobi11: gurobipy==11.0.3 + gurobi12: gurobipy==12.0.0 -[testenv:{py39,py310,py311,py312}-keras-{gurobi10,gurobi11}] +[testenv:{py39,py310,py311,py312}-keras-{gurobi10,gurobi11,gurobi12}] deps = {[base]deps} -r{toxinidir}/requirements.keras.txt commands = pytest tests/test_keras -[testenv:{py39,py310,py311,py312}-pytorch-{gurobi10,gurobi11}] +[testenv:{py39,py310,py311,py312}-pytorch-{gurobi10,gurobi11,gurobi12}] deps = {[base]deps} -r{toxinidir}/requirements.pytorch.txt commands = pytest tests/test_pytorch -[testenv:{py39,py310,py311,py312}-sklearn-{gurobi10,gurobi11}] +[testenv:{py39,py310,py311,py312}-sklearn-{gurobi10,gurobi11,gurobi12}] deps = {[base]deps} -r{toxinidir}/requirements.sklearn.txt commands = pytest tests/test_sklearn -[testenv:{py39,py310,py311,py312}-xgboost-{gurobi10,gurobi11}] +[testenv:{py39,py310,py311,py312}-xgboost-{gurobi10,gurobi11,gurobi12}] deps = {[base]deps} -r{toxinidir}/requirements.sklearn.txt @@ -111,7 +114,7 @@ deps = commands = pytest tests/test_xgboost -[testenv:{py39,py310,py311,py312}-lightgbm-{gurobi10,gurobi11}] +[testenv:{py39,py310,py311,py312}-lightgbm-{gurobi10,gurobi11,gurobi12}] deps = {[base]deps} -r{toxinidir}/requirements.lightgbm.txt @@ -125,7 +128,7 @@ deps = commands = pytest tests/test_no_deps -[testenv:{py39,py310,py311,py312}-pandas-{gurobi10,gurobi11}] +[testenv:{py39,py310,py311,py312}-pandas-{gurobi10,gurobi11,gurobi12}] deps = {[base]deps} -r{toxinidir}/requirements.pandas.txt @@ -133,7 +136,7 @@ deps = commands = pytest tests/test_pandas -[testenv:{py39,py310,py311,py312}-all_deps-{gurobi10,gurobi11}] +[testenv:{py39,py310,py311,py312}-all_deps-{gurobi10,gurobi11,gurobi12}] deps = {[base]deps} -r{toxinidir}/requirements.keras.txt