From b3682c2e2209dad084da6bd9fbfa59c41313d4f0 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 28 Oct 2026 15:55:12 +0000 Subject: [PATCH 1/5] Fail integration-gate on abandoned jobs and trim the test matrix --- .github/workflows/integration-test.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 6c647deaf..0701e6978 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.9", "3.15"] steps: - uses: actions/checkout@v3 @@ -51,7 +51,7 @@ jobs: runs-on: windows-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.15"] steps: - uses: actions/checkout@v3 @@ -92,7 +92,7 @@ jobs: runs-on: macos-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] + python-version: ["3.15"] steps: - uses: actions/checkout@v3 @@ -140,9 +140,11 @@ jobs: - name: Check integration test results run: | echo "Results: ${{ join(needs.*.result, ', ') }}" - if ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}; then - exit 1 - fi + for r in ${{ join(needs.*.result, ' ') }}; do + if [ "$r" != "success" ] && [ "$r" != "skipped" ]; then + exit 1 + fi + done ### if you need valgrind on mac, you can install it via # brew tap LouisBrunner/valgrind From eb844266bc46808566b6cf80247601cb78e7e286 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 28 Oct 2026 15:55:12 +0000 Subject: [PATCH 2/5] Drop Python 3.8 and update the wheel list in INSTALL.md --- CHANGELOG.md | 1 + INSTALL.md | 6 +++--- pyproject.toml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29b8597bf..6704f6da7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - Speed up `PowExpr._evaluate` via the C-level API - `PowExpr._evaluate` now raises `ValueError("math domain error")` for a negative base with a non-integer exponent and `OverflowError` when the result overflows. ### Removed +- Removed support for Python 3.8 ## 6.3.0 - 2026.10.11 ### Added diff --git a/INSTALL.md b/INSTALL.md index 851acc65b..7a6b42b37 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -3,9 +3,9 @@ Requirements From version 5.0.0, SCIP is automatically shipped when using PyPI for the following systems: -- CPython 3.8 / 3.9 / 3.10 / 3.11 / 3.12 for Linux (manylinux2014) -- CPython 3.8 / 3.9 / 3.10 / 3.11 / 3.12 for MacOS for x86_64 / ARM64 -- CPython 3.8 / 3.9 / 3.10 / 3.11 / 3.12 for Windows 64bit +- CPython 3.9 to 3.15 for Linux x86_64 / aarch64 (manylinux_2_28) +- CPython 3.9 to 3.15 for MacOS x86_64 / ARM64 +- CPython 3.9 to 3.15 for Windows 64bit This work is currently ongoing, and is planned to encompass all Python and OS combinations. diff --git a/pyproject.toml b/pyproject.toml index 764927e50..c2514ac33 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ authors = [ {name = "Zuse Institute Berlin", email = "scip@zib.de"}, ] dependencies = ['numpy >=1.16.0'] -requires-python = ">=3.8" +requires-python = ">=3.9" readme = "README.md" classifiers = [ "Development Status :: 4 - Beta", From 40c73ddd2e17e695a31390fb574bae2295c6813f Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 28 Oct 2026 16:37:26 +0000 Subject: [PATCH 3/5] Add Python 3.9 to the Windows and macOS integration matrices --- .github/workflows/integration-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 0701e6978..4e06c1398 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -51,7 +51,7 @@ jobs: runs-on: windows-latest strategy: matrix: - python-version: ["3.15"] + python-version: ["3.9", "3.15"] steps: - uses: actions/checkout@v3 @@ -92,7 +92,7 @@ jobs: runs-on: macos-latest strategy: matrix: - python-version: ["3.15"] + python-version: ["3.9", "3.15"] steps: - uses: actions/checkout@v3 From b52b79a584aaf5d89c03cc98a0e2eb5c2854714b Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 28 Oct 2026 17:05:12 +0000 Subject: [PATCH 4/5] Name the failing job in the integration-gate output --- .github/workflows/integration-test.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index 4e06c1398..e2315d5dc 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -139,12 +139,19 @@ jobs: steps: - name: Check integration test results run: | - echo "Results: ${{ join(needs.*.result, ', ') }}" - for r in ${{ join(needs.*.result, ' ') }}; do - if [ "$r" != "success" ] && [ "$r" != "skipped" ]; then - exit 1 + failed=0 + for entry in "Integration-test=${{ needs.Integration-test.result }}" \ + "Windows-test=${{ needs.Windows-test.result }}" \ + "MacOS-test=${{ needs.MacOS-test.result }}"; do + job=${entry%%=*} + result=${entry#*=} + echo "$job: $result" + if [ "$result" != "success" ] && [ "$result" != "skipped" ]; then + echo "::error::$job finished with result '$result'" + failed=1 fi done + exit $failed ### if you need valgrind on mac, you can install it via # brew tap LouisBrunner/valgrind From ecb0abaea1e3ba628bd83deb530bcdf8ae3203b3 Mon Sep 17 00:00:00 2001 From: Joao-Dionisio Date: Wed, 28 Oct 2026 17:23:27 +0000 Subject: [PATCH 5/5] Pin the macOS integration job to macos-15 --- .github/workflows/integration-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index e2315d5dc..948e99511 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -89,7 +89,7 @@ jobs: MacOS-test: if: github.event_name != 'pull_request' - runs-on: macos-latest + runs-on: macos-15 strategy: matrix: python-version: ["3.9", "3.15"]