Skip to content

Commit 5608a67

Browse files
authored
ci: Remove python 3.8 from tests and add python 3.13 (#1244) (#1246)
- Cherry-picking #1244 to the ui-v0.31 branch - Had a release action fail because this wasn't picked back: https://github.com/deephaven/deephaven-plugins/actions/runs/18534550865 - Python 3.8 is past EOL: https://devguide.python.org/versions/ - jpy no longer publishes wheels for Python 3.8: jpy-consortium/jpy#201 - Logged a ticket for deephaven-core to update requirements: https://deephaven.atlassian.net/browse/DH-20615 - For the deephaven-plugins tests, just remove 3.8 and add 3.13 (since it should be supported as well)
1 parent ee22d33 commit 5608a67

File tree

62 files changed

+95
-238
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+95
-238
lines changed

.github/actions/get-changes/action.yml

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,8 @@ runs:
1313
uses: dorny/paths-filter@v3
1414
id: filter
1515
with:
16+
# On this release/ui-v0.31 branch, just disable all the other plugins from being tested since it will just be deephaven.ui updates
1617
filters: |
17-
plotly-express:
18-
- plugins/plotly-express/**
19-
- .github/workflows/test-*.yml
20-
- sphinx_ext/*
21-
matplotlib:
22-
- plugins/matplotlib/**
23-
- .github/workflows/test-*.yml
24-
json:
25-
- plugins/json/**
26-
- .github/workflows/test-*.yml
2718
ui:
2819
- plugins/ui/**
2920
- .github/workflows/test-*.yml
@@ -34,9 +25,3 @@ runs:
3425
packaging:
3526
- plugins/packaging/**
3627
- .github/workflows/test-*.yml
37-
ag-grid:
38-
- plugins/ag-grid/**
39-
- .github/workflows/test-*.yml
40-
simple-pivot:
41-
- plugins/simple-pivot/**
42-
- .github/workflows/test-*.yml

.github/workflows/pre-commit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ jobs:
1919
- uses: actions/checkout@v4
2020
- uses: actions/setup-python@v5
2121
with:
22-
python-version: '3.8'
22+
python-version: '3.9'
2323
cache: 'pip'
2424
- uses: pre-commit/[email protected]

.github/workflows/test-python-package.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
strategy:
1414
fail-fast: false
1515
matrix:
16-
python: ['3.8', '3.9', '3.10', '3.11', '3.12']
16+
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
1717
steps:
1818
- name: Checkout
1919
uses: actions/checkout@v4

README.md

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,22 +78,13 @@ If you want to run tests locally (which may be easier for debugging or creating
7878

7979
The [venv setup](#pre-commit-hookspython-formatting) steps will also set up `tox` to run tests for the python plugins that support it.
8080
Note that `tox` sets up an isolated environment for running tests.
81-
Be default, `tox` will run against Python 3.8, which will need to be installed on your system before running tests.
81+
Be default, `tox` will run against Python 3.9, which will need to be installed on your system before running tests.
8282
You can run tests with the following command from the `plugins/<plugin>` directory:
8383

8484
```shell
8585
tox -e py
8686
```
8787

88-
> [!IMPORTANT]
89-
> Linux, and possibly other setups such as MacOS depending on method, may require additional packages to be installed to run Python 3.8.
90-
>
91-
> ```shell
92-
> sudo apt install python3.8 python3.8-distutils libpython3.8
93-
> # or just full install although it will include more packages than necessary
94-
> sudo apt install python3.8-full
95-
> ```
96-
9788
You can also run tests against a specific version of python by appending the version to `py`
9889
This assumes that the version of Python you're targeting is installed on your system.
9990
For example, to run tests against Python 3.12, run:

plugins/ag-grid/tox.ini

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ deps =
66
deephaven-server
77
commands =
88
python -m unittest {posargs}
9-
basepython = python3.8
10-
11-
[testenv:py3.8]
12-
basepython = python3.8
9+
basepython = python3.9
1310

1411
[testenv:py3.9]
1512
basepython = python3.9
@@ -21,4 +18,7 @@ basepython = python3.10
2118
basepython = python3.11
2219

2320
[testenv:py3.12]
24-
basepython = python3.12
21+
basepython = python3.12
22+
23+
[testenv:py3.13]
24+
basepython = python3.13

plugins/matplotlib/tox.ini

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
[tox]
2+
isolated_build = True
3+
4+
[testenv]
5+
deps =
6+
deephaven-server
7+
basepython = python3.9
8+
9+
[testenv:py3.9]
10+
basepython = python3.9
11+
12+
[testenv:py3.10]
13+
basepython = python3.10
14+
15+
[testenv:py3.11]
16+
basepython = python3.11
17+
18+
[testenv:py3.12]
19+
basepython = python3.12
20+
21+
[testenv:py3.13]
22+
basepython = python3.13

plugins/packaging/tox.ini

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
[tox]
2+
isolated_build = True
3+
4+
[testenv]
5+
deps =
6+
deephaven-server
7+
basepython = python3.9
8+
9+
[testenv:py3.9]
10+
basepython = python3.9
11+
12+
[testenv:py3.10]
13+
basepython = python3.10
14+
15+
[testenv:py3.11]
16+
basepython = python3.11
17+
18+
[testenv:py3.12]
19+
basepython = python3.12
20+
21+
[testenv:py3.13]
22+
basepython = python3.13

plugins/plotly-express/tox.ini

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ deps =
66
deephaven-server
77
commands =
88
python -m unittest discover
9-
basepython = python3.8
10-
11-
[testenv:py3.8]
12-
basepython = python3.8
9+
basepython = python3.9
1310

1411
[testenv:py3.9]
1512
basepython = python3.9
@@ -23,4 +20,5 @@ basepython = python3.11
2320
[testenv:py3.12]
2421
basepython = python3.12
2522

26-
23+
[testenv:py3.13]
24+
basepython = python3.13

plugins/simple-pivot/tox.ini

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ deps =
66
deephaven-server
77
commands =
88
python -m unittest {posargs}
9-
basepython = python3.8
10-
11-
[testenv:py3.8]
12-
basepython = python3.8
9+
basepython = python3.9
1310

1411
[testenv:py3.9]
1512
basepython = python3.9
@@ -21,4 +18,7 @@ basepython = python3.10
2118
basepython = python3.11
2219

2320
[testenv:py3.12]
24-
basepython = python3.12
21+
basepython = python3.12
22+
23+
[testenv:py3.13]
24+
basepython = python3.13

plugins/ui/test/deephaven/ui/test_ui_table.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ def expect_render(self, ui_table, expected_props: dict[str, Any]):
1919
context = RenderContext(on_change, on_queue)
2020
result = ui_table.render(context)
2121

22-
# Can replace 2nd param with result | expected_props after dropping Python 3.8
23-
# https://stackoverflow.com/questions/20050913/python-unittests-assertdictcontainssubset-recommended-alternative
24-
self.assertDictEqual(result, {**result, **expected_props})
22+
self.assertDictEqual(result, result | expected_props)
2523

2624
def test_empty_ui_table(self):
2725
import deephaven.ui as ui

0 commit comments

Comments
 (0)