diff --git a/.github/workflows/test_branches.yml b/.github/workflows/test_branches.yml index c89e2078819..f96aef36e1f 100644 --- a/.github/workflows/test_branches.yml +++ b/.github/workflows/test_branches.yml @@ -23,7 +23,7 @@ env: PYTHON_CORE_PKGS: wheel PYPI_ONLY: z3-solver linear-tree PYPY_EXCLUDE: scipy numdifftools seaborn statsmodels linear-tree - CACHE_VER: v260304.0 + CACHE_VER: v260512.3 NEOS_EMAIL: tests@pyomo.org SRC_REF: ${{ github.head_ref || github.ref }} PYOMO_WORKFLOW: branch @@ -147,6 +147,13 @@ jobs: TARGET: win PYENV: pip + - os: ubuntu-latest + python: '3.10' + other: /slim + slim: 1 + TARGET: linux + PYENV: pip + steps: - name: Checkout Pyomo source uses: actions/checkout@v6 @@ -356,6 +363,8 @@ jobs: python --version # We need setuptools so we can run Pyomo's setup.py conda install setuptools + # Make sure pip is installed for dependencies not available through conda + conda install pip # Note: some pypi packages are not available through conda PYOMO_DEPENDENCIES=`python setup.py dependencies \ --extras "$EXTRAS" | tail -1` @@ -566,7 +575,7 @@ jobs: Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append $INSTALLER = "${env:DOWNLOAD_DIR}/gams_install.exe" # Demo licenses are included for 5mo from the newest release - $URL = "https://d37drm4t2jghv5.cloudfront.net/distributions/52.5.0" + $URL = "https://d37drm4t2jghv5.cloudfront.net/distributions/latest" if ( "${{matrix.TARGET}}" -eq "win" ) { $URL = "$URL/windows/windows_x64_64.exe" } elseif ( "${{matrix.TARGET}}" -eq "osx" ) { @@ -680,9 +689,9 @@ jobs: cd gjh_asl_json-master/Thirdparty # Patch get.ASL to use curl URL="http://www.ampl.com/netlib/ampl/solvers.tgz" - sed -i "s|wget |curl -o solvers.tgz |" get.ASL - cat get.ASL - ./get.ASL + sed "s|wget |curl -o solvers.tgz |" get.ASL > get.ASL.patched + cat get.ASL.patched + bash ./get.ASL.patched cd .. make mv bin "$INSTALL_DIR/bin" diff --git a/.github/workflows/test_pr_and_main.yml b/.github/workflows/test_pr_and_main.yml index 6670904ca06..fc5bf334435 100644 --- a/.github/workflows/test_pr_and_main.yml +++ b/.github/workflows/test_pr_and_main.yml @@ -31,7 +31,7 @@ env: PYTHON_CORE_PKGS: wheel PYPI_ONLY: z3-solver linear-tree PYPY_EXCLUDE: scipy numdifftools seaborn statsmodels linear-tree - CACHE_VER: v260304.0 + CACHE_VER: v260512.3 NEOS_EMAIL: tests@pyomo.org SRC_REF: ${{ github.head_ref || github.ref }} PYOMO_WORKFLOW: | @@ -151,10 +151,18 @@ jobs: PYENV: pip PACKAGES: cython - - os: windows-latest + # [13 May 26] Disabled until we can sort out the seg fault issue + #- os: windows-latest + # python: '3.10' + # other: /pip + # TARGET: win + # PYENV: pip + + - os: ubuntu-latest python: '3.10' - other: /pip - TARGET: win + other: /slim + slim: 1 + TARGET: linux PYENV: pip - os: ubuntu-latest @@ -164,13 +172,6 @@ jobs: TARGET: linux PYENV: pip - - os: ubuntu-latest - python: '3.10' - other: /slim - slim: 1 - TARGET: linux - PYENV: pip - - os: ubuntu-latest python: 3.12 other: /numpy2 @@ -409,6 +410,8 @@ jobs: python --version # We need setuptools so we can run Pyomo's setup.py conda install setuptools + # Make sure pip is installed for dependencies not available through conda + conda install pip # Note: some pypi packages are not available through conda PYOMO_DEPENDENCIES=`python setup.py dependencies \ --extras "$EXTRAS" | tail -1` @@ -619,7 +622,7 @@ jobs: Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append $INSTALLER = "${env:DOWNLOAD_DIR}/gams_install.exe" # Demo licenses are included for 5mo from the newest release - $URL = "https://d37drm4t2jghv5.cloudfront.net/distributions/52.5.0" + $URL = "https://d37drm4t2jghv5.cloudfront.net/distributions/latest" if ( "${{matrix.TARGET}}" -eq "win" ) { $URL = "$URL/windows/windows_x64_64.exe" } elseif ( "${{matrix.TARGET}}" -eq "osx" ) { @@ -733,9 +736,9 @@ jobs: cd gjh_asl_json-master/Thirdparty # Patch get.ASL to use curl URL="http://www.ampl.com/netlib/ampl/solvers.tgz" - sed -i "s|wget |curl -o solvers.tgz |" get.ASL - cat get.ASL - ./get.ASL + sed "s|wget |curl -o solvers.tgz |" get.ASL > get.ASL.patched + cat get.ASL.patched + bash ./get.ASL.patched cd .. make mv bin "$INSTALL_DIR/bin" diff --git a/pyomo/neos/__init__.py b/pyomo/neos/__init__.py index 5a6831f5bd5..612c970e724 100644 --- a/pyomo/neos/__init__.py +++ b/pyomo/neos/__init__.py @@ -16,6 +16,7 @@ 'bonmin': 'Deterministic local MINLP solver', 'cbc': 'MILP solver', 'conopt': 'Feasible path NLP solver', + 'copt': 'MILP solver', 'couenne': 'Deterministic global MINLP solver', 'cplex': 'MILP solver', 'fico-xpress': 'MILP solver', diff --git a/pyomo/neos/tests/test_neos.py b/pyomo/neos/tests/test_neos.py index 9dff7f8d6ae..a2e83e4f399 100644 --- a/pyomo/neos/tests/test_neos.py +++ b/pyomo/neos/tests/test_neos.py @@ -223,6 +223,9 @@ def test_cbc(self): def test_conopt(self): self._run('conopt') + def test_copt(self): + self._run('copt') + def test_couenne(self): self._run('couenne')