Skip to content

Commit

Permalink
Merge branch 'master' into build-wheels
Browse files Browse the repository at this point in the history
  • Loading branch information
moorepants committed Jun 7, 2024
2 parents 5590504 + 3ccda5d commit 9c282ba
Show file tree
Hide file tree
Showing 44 changed files with 4,995 additions and 641 deletions.
13 changes: 8 additions & 5 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,27 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.11']
python-version: ['3.12']
ipopt-version: ['3.14']
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout CyIpopt
uses: actions/checkout@v2
uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
activate-environment: test-environment
python-version: ${{ matrix.python-version }}
channels: conda-forge
conda-build-version: '3.21.4'
miniforge-variant: Mambaforge
- name: Install basic dependencies
run: conda install -q -y lapack "libblas=*=*netlib" cython>=0.26 "ipopt=${{ matrix.ipopt-version }}" numpy>=1.15 pkg-config>=0.29.2 setuptools>=39.0 --file docs/requirements.txt
run: mamba install -y -v lapack "libblas=*=*netlib" "cython>=0.29.28" "ipopt=${{ matrix.ipopt-version }}" numpy>=1.21.5 pkg-config>=0.29.2 setuptools>=44.1.1 --file docs/requirements.txt
- name: Install CyIpopt
run: python -m pip install .
run: |
rm pyproject.toml
python -m pip install .
mamba list
- name: Test building documentation
run: cd docs && make clean && make html && cd ..
43 changes: 0 additions & 43 deletions .github/workflows/test.yml

This file was deleted.

40 changes: 25 additions & 15 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
name: tests

on:
push:
branches: master
pull_request:
branches: master
on: [push, pull_request]

# cancels prior builds for this workflow when new commit is pushed
concurrency:
Expand All @@ -19,7 +15,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
ipopt-version: ['3.12', '3.13', '3.14']
exclude:
- os: windows-latest
Expand All @@ -29,22 +25,36 @@ jobs:
shell: bash -l {0}
steps:
- name: Checkout CyIpopt
uses: actions/checkout@v2
uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
activate-environment: test-environment
python-version: ${{ matrix.python-version }}
channels: conda-forge
conda-build-version: '3.21.4'
- name: Install basic dependencies
run: conda install -q -y lapack "libblas=*=*netlib" cython>=0.26 "ipopt=${{ matrix.ipopt-version }}" numpy>=1.15 pkg-config>=0.29.2 setuptools>=39.0
miniforge-variant: Mambaforge
- name: Install basic dependencies against generic blas/lapack
run: |
mamba install -q -y lapack "libblas=*=*netlib" "ipopt=${{ matrix.ipopt-version }}" "numpy>=1.21.5" "pkg-config>=0.29.2" "setuptools>=44.1.1" "cython>=0.29.28"
- run: echo "IPOPTWINDIR=USECONDAFORGEIPOPT" >> $GITHUB_ENV
- name: Install CyIpopt
run: python -m pip install .
- name: Test with pytest
run:
run: |
rm pyproject.toml
python -m pip install .
mamba list
- name: Test with pytest using OS specific blas/lapack
run: |
python -c "import cyipopt"
conda install -y -q pytest>=3.3.2
mamba remove lapack
mamba install -q -y "ipopt=${{ matrix.ipopt-version }}" "numpy>=1.21.5" "pkg-config>=0.29.2" "setuptools>=44.1.1" "pytest>=6.2.5" "cython=0.29.*"
mamba list
pytest
conda install -y -q scipy>=0.19.1
- name: Test with pytest and scipy, new ipopt
# cyipopt can build with these dependencies, but it seems impossible to
# also install scipy into these environments likely due to SciPy and
# Ipopt needed different libfortrans.
if: (matrix.ipopt-version != '3.12' && matrix.python-version != '3.11') || (matrix.ipopt-version != '3.12' && matrix.python-version != '3.10' && matrix.os != 'macos-latest')
run: |
mamba install -q -y -c conda-forge "ipopt=${{ matrix.ipopt-version }}" "numpy>=1.21.5" "pkg-config>=0.29.2" "setuptools>=44.1.1" "scipy>1.8.0" "pytest>=6.2.5" "cython=0.29.*"
mamba list
pytest
26 changes: 26 additions & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: windows

on: [push, pull_request]

# cancels prior builds for this workflow when new commit is pushed
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: Manually install on Windows with Ipopt binaries
runs-on: windows-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- run: python -m pip install "numpy>=1.21.5" "cython>=0.29.28" "setuptools>44.1.1"
- run: Invoke-WebRequest -Uri "https://github.com/coin-or/Ipopt/releases/download/releases%2F3.13.3/Ipopt-3.13.3-win64-msvs2019-md.zip" -OutFile "Ipopt-3.13.3-win64-msvs2019-md.zip"
- run: 7z x Ipopt-3.13.3-win64-msvs2019-md.zip
- run: mv Ipopt-3.13.3-win64-msvs2019-md/* .
- run: python setup.py install
- run: python examples/hs071.py
4 changes: 4 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
version: 2
build:
os: "ubuntu-22.04"
tools:
python: "mambaforge-22.9"
sphinx:
configuration: docs/source/conf.py
formats: all
Expand Down
8 changes: 8 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,11 @@ Jonathan Helgert <[email protected]>
Benjamin A. Beasley <[email protected]>
Tobias Kies <[email protected]>
John Siirola <[email protected]>
Nikitas Rontsis <[email protected]>
Robert Parker <[email protected]>
Matt Haberland <[email protected]>
Benjamin A. Beasley <[email protected]>
Polina Lakrisenko <[email protected]>
Christoph Hansknecht <[email protected]>
Markus Zimmer <none>
Thomas Lynn <[email protected]>
66 changes: 65 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,73 @@ Include sections:
Version History
---------------

[1.3.0.dev0] - XXXX-XX-XX
[1.5.0.dev0] - XXXX-XX-XX
~~~~~~~~~~~~~~~~~~~~~~~~~

[1.4.1] - 2024-04-02
~~~~~~~~~~~~~~~~~~~~

Fixed
+++++

- Addressed regression in return value of ``intermediate_cb``. #250

[1.4.0] - 2024-04-01
~~~~~~~~~~~~~~~~~~~~

Added
+++++

- Support for building with Cython 3. #227, #240
- Exposed the ``eps`` kwarg in the SciPy interface. #228
- Added the examples to the source tarball. #242
- Documentation improvements on specifics of Jacobian and Hessian inputs. #247
- Support for Python 3.12.

Fixed
+++++

- Ensure ``tol`` is always a float in the SciPy interface. #236
- ``print_level`` allows integers other than 0 or 1. #244

[1.3.0] - 2023-09-23
~~~~~~~~~~~~~~~~~~~~

Added
+++++

- Added a ``pyproject.toml`` file with build dependencies. #162
- Added support for sparse Jacobians in the SciPy interface. #170
- Added ``get_current_iterate`` and ``get_current_violations`` methods to
Problem class. #182
- Added installation instructions for Ubuntu 22.04 LTS apt dependencies.
- Added a script to build manylinux wheels. #189
- Improved documentation of ``minimize_ipopt()``. #194
- Added support for all SciPy ``minimize()`` methods. #200
- Added support for SciPy style bounds in ``minimize_ipopt()`` and added input
validation. #207
- Added new ``CyIpoptEvaluationError`` and included it in relevance callbacks.
#215
- Added dimension checks for Jacobian and Hessian attributes/methods. #216

Fixed
+++++

- Fixed import of ``MemoizeJac`` from scipy.optimize. #183
- ``args`` and ``kwargs`` can be passed to all functions used in
``minimize_ipopt()``. #197
- Fixed late binding bug in ``minimize_ipopt()`` when defining constraint
Jacobians. #208
- Pinned build dependency Cython to < 3. #212 #214 #223
- Fixed installation on Windows for official Ipopt binaries adjacent to
``setup.py``. #220

Changed
+++++++

- Changed the license to Eclipse Public 2.0. #185
- Updated all dependency pins to match those in Ubuntu 22.04 LTS. #223

[1.2.0] - 2022-11-28
~~~~~~~~~~~~~~~~~~~~

Expand Down
Loading

0 comments on commit 9c282ba

Please sign in to comment.