diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0eb4048..1ccf4d7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,18 +31,18 @@ jobs: matrix: include: # All Python versions against the latest PyBaMM - - {python-version: "3.10", pybamm-version: "26.8"} - - {python-version: "3.11", pybamm-version: "26.8"} - - {python-version: "3.12", pybamm-version: "26.8"} - - {python-version: "3.13", pybamm-version: "26.8"} - - {python-version: "3.14", pybamm-version: "26.8"} - # Older PyBaMM versions against the latest Python they support - - {python-version: "3.13", pybamm-version: "25.12"} - - {python-version: "3.14", pybamm-version: "26.3"} + - {python-version: "3.10", pybamm-version: "26.9"} + - {python-version: "3.11", pybamm-version: "26.9"} + - {python-version: "3.12", pybamm-version: "26.9"} + - {python-version: "3.13", pybamm-version: "26.9"} + - {python-version: "3.14", pybamm-version: "26.9"} + # Older PyBaMM versions against the latest Python they support. + # Keep exactly the latest 6 releases (see policy in pyproject.toml). - {python-version: "3.14", pybamm-version: "26.4"} - {python-version: "3.14", pybamm-version: "26.5"} - {python-version: "3.14", pybamm-version: "26.6"} - {python-version: "3.14", pybamm-version: "26.7"} + - {python-version: "3.14", pybamm-version: "26.8"} steps: - uses: actions/checkout@v4 diff --git a/pyproject.toml b/pyproject.toml index 3f78a32..31eee7e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,12 @@ dependencies = [ # is skipped on Emscripten so the pure-Python parts of the toolbox # (`pathsim_batt.thermal`) still install in the browser. # Upper-bounded: each new minor release is vetted before being allowed. - "pybamm>=25.12,<26.9;sys_platform != 'emscripten'", + # Support policy: the latest 6 PyBaMM releases (~6 months). Adding a new + # release drops the oldest in the same change — raise the lower bound, + # remove its CI row and any workarounds only it needed. A version may be + # dropped earlier if it blocks a fix or feature. Raising the lower bound + # requires a minor (not patch) pathsim-batt release. + "pybamm>=26.4,<26.10; sys_platform != 'emscripten'", ] [project.optional-dependencies] diff --git a/tests/cells/test_lead_acid.py b/tests/cells/test_lead_acid.py index c0ee3e9..633143b 100644 --- a/tests/cells/test_lead_acid.py +++ b/tests/cells/test_lead_acid.py @@ -83,7 +83,7 @@ def test_monolithic_electrothermal_raises(self): def test_cosim_electrical_smoke(self): # On PyBaMM < 26.7, LOQS disables its Jacobian and IDAKLUSolver (the # co-sim default) errors without one; CasadiSolver works on every - # pinned version (25.12-26.8), so use it explicitly here. + # pinned version (26.4-26.9), so use it explicitly here. solver = pybamm.CasadiSolver(mode="safe") cell = CellCoSimElectrical( model=self._model(),