From d906234b6aa2ca182de5ced55da496a6151bc67e Mon Sep 17 00:00:00 2001 From: Ben Greiner Date: Wed, 23 Nov 2022 15:59:41 +0100 Subject: [PATCH 1/5] Drop support for Python 3.7 --- .github/workflows/slycot-build-and-test.yml | 2 +- README.rst | 6 +++--- pyproject.toml | 3 +-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/slycot-build-and-test.yml b/.github/workflows/slycot-build-and-test.yml index 1af15d3f..bc403dbf 100644 --- a/.github/workflows/slycot-build-and-test.yml +++ b/.github/workflows/slycot-build-and-test.yml @@ -57,7 +57,7 @@ jobs: - 'ubuntu' - 'macos' python: - - '3.7' + - '3.8' - '3.11' bla_vendor: [ 'unset' ] include: diff --git a/README.rst b/README.rst index df1dbc22..bf48b7db 100644 --- a/README.rst +++ b/README.rst @@ -19,18 +19,18 @@ Riccati, Lyapunov, and Sylvester equations. Dependencies ------------ -Slycot supports Python versions 3.7 or later. +Slycot supports Python versions 3.8 or later. To run the compiled Slycot package, the following must be installed as dependencies: -- Python 3.7+ +- Python 3.8+ - NumPy If you are compiling and installing Slycot from source, you will need the following dependencies: -- Python 3.7+ +- Python 3.8+ - NumPy - scikit-build - CMake diff --git a/pyproject.toml b/pyproject.toml index 1c6f74cc..3719fa8e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,6 @@ classifiers = [ "Programming Language :: C", "Programming Language :: Fortran", "Programming Language :: Python", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -37,7 +36,7 @@ classifiers = [ "Operating System :: Unix", "Operating System :: MacOS", ] -requires-python = ">=3.7" +requires-python = ">=3.8" dependencies = [ "numpy", ] From 52ccc8edebc434d3660c2b4b76e434876a6afdb7 Mon Sep 17 00:00:00 2001 From: Ben Greiner Date: Wed, 23 Nov 2022 16:04:23 +0100 Subject: [PATCH 2/5] remove Python 3.7 from README --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index bf48b7db..fe82d095 100644 --- a/README.rst +++ b/README.rst @@ -189,7 +189,7 @@ A similar method can be used for Linux and macOS, but is detailed here for Windows. This method uses conda and conda-forge to get most build dependencies, *except* for the C compiler. -This procedure has been tested on Python 3.7 and 3.8. +This procedure has been tested on Python 3.8. 1. Install `Microsoft Visual Studio`_. 2. Unpack the source code to a directory of your choice, From 614e09a6f0804c509a088058dc30e6700c1962e6 Mon Sep 17 00:00:00 2001 From: Ben Greiner Date: Wed, 23 Nov 2022 16:05:23 +0100 Subject: [PATCH 3/5] Revert "remove mambabuild/boa: not ready for Python 3.11" This reverts commit b7f07e931beb34589a004342e339dcb3f2cd0cfa. --- .github/conda-env/build-env.yml | 6 ++---- .github/workflows/slycot-build-and-test.yml | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/conda-env/build-env.yml b/.github/conda-env/build-env.yml index a2611b09..64ef8932 100644 --- a/.github/conda-env/build-env.yml +++ b/.github/conda-env/build-env.yml @@ -1,6 +1,4 @@ name: build-env dependencies: - - conda-build - - conda-verify - # - boa # re-enable when boa is compatible with mamba 1.0 and Python 3.11 - - numpy !=1.23.0 + - boa + - numpy!=1.23.0 diff --git a/.github/workflows/slycot-build-and-test.yml b/.github/workflows/slycot-build-and-test.yml index bc403dbf..e4e520f7 100644 --- a/.github/workflows/slycot-build-and-test.yml +++ b/.github/workflows/slycot-build-and-test.yml @@ -168,7 +168,7 @@ jobs: run: | set -e numpyversion=$(python -c 'import numpy; print(numpy.version.version)') - conda build --python "${{ matrix.python }}" --numpy $numpyversion conda-recipe + conda mambabuild --python "${{ matrix.python }}" --numpy $numpyversion conda-recipe # preserve directory structure for custom conda channel find "${CONDA_PREFIX}/conda-bld" -maxdepth 2 -name 'slycot*.tar.bz2' | while read -r conda_pkg; do conda_platform=$(basename $(dirname "${conda_pkg}")) From 8725bb2319231c08330824e9eddcd597d4613a3d Mon Sep 17 00:00:00 2001 From: Ben Greiner Date: Wed, 23 Nov 2022 16:34:49 +0100 Subject: [PATCH 4/5] bump GitHub actions --- .github/workflows/slycot-build-and-test.yml | 30 ++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/slycot-build-and-test.yml b/.github/workflows/slycot-build-and-test.yml index e4e520f7..d5f00779 100644 --- a/.github/workflows/slycot-build-and-test.yml +++ b/.github/workflows/slycot-build-and-test.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Slycot - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 submodules: 'recursive' @@ -79,7 +79,7 @@ jobs: steps: - name: Checkout Slycot - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 submodules: 'recursive' @@ -126,7 +126,7 @@ jobs: mkdir -p ${wheeldir} cp ./slycot*.whl ${wheeldir}/ - name: Save wheel - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: slycot-wheels path: slycot-wheels @@ -148,7 +148,7 @@ jobs: steps: - name: Checkout Slycot - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 submodules: 'recursive' @@ -176,7 +176,7 @@ jobs: cp "${conda_pkg}" "slycot-conda-pkgs/${conda_platform}/" done - name: Save to local conda pkg channel - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: slycot-conda-pkgs path: slycot-conda-pkgs @@ -190,9 +190,9 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - name: Checkout Slycot - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Download wheels (if any) - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: slycot-wheels path: slycot-wheels @@ -210,9 +210,9 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - name: Checkout Slycot - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Download conda packages - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: slycot-conda-pkgs path: slycot-conda-pkgs @@ -234,11 +234,11 @@ jobs: steps: - name: Checkout Slycot - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: slycot-src - name: Checkout python-control - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: repository: 'python-control/python-control' path: python-control @@ -276,7 +276,7 @@ jobs: exit 1 ;; esac - name: Download wheels - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: slycot-wheels path: slycot-wheels @@ -313,11 +313,11 @@ jobs: steps: - name: Checkout Slycot - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: slycot-src - name: Checkout python-control - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: repository: 'python-control/python-control' path: python-control @@ -335,7 +335,7 @@ jobs: channel-priority: strict auto-activate-base: false - name: Download conda packages - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: slycot-conda-pkgs path: slycot-conda-pkgs From c92de6299346e074912cbea6e32629f9b5ce90de Mon Sep 17 00:00:00 2001 From: Ben Greiner Date: Wed, 23 Nov 2022 18:26:36 +0100 Subject: [PATCH 5/5] replace set-output --- .github/workflows/slycot-build-and-test.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/slycot-build-and-test.yml b/.github/workflows/slycot-build-and-test.yml index d5f00779..9c68b243 100644 --- a/.github/workflows/slycot-build-and-test.yml +++ b/.github/workflows/slycot-build-and-test.yml @@ -197,9 +197,7 @@ jobs: name: slycot-wheels path: slycot-wheels - id: set-matrix - run: | - matrix=$(python3 .github/scripts/set-pip-test-matrix.py) - echo "::set-output name=matrix::$matrix" + run: echo "matrix=$(python3 .github/scripts/set-pip-test-matrix.py)" >> $GITHUB_OUTPUT create-conda-test-matrix: name: Create conda test matrix @@ -217,9 +215,7 @@ jobs: name: slycot-conda-pkgs path: slycot-conda-pkgs - id: set-matrix - run: | - matrix=$(python3 .github/scripts/set-conda-test-matrix.py) - echo "::set-output name=matrix::$matrix" + run: echo "matrix=$(python3 .github/scripts/set-conda-test-matrix.py)" >> $GITHUB_OUTPUT test-wheel: