Skip to content

Commit b789881

Browse files
committed
ci: Remove Python 3.8; add Python 3.12.
Also add Python 3.11 Zulip 7.0 to CI matrix.
1 parent 1d37ed2 commit b789881

File tree

8 files changed

+25
-23
lines changed

8 files changed

+25
-23
lines changed

.github/workflows/zulip-ci.yml

+12-6
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,6 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
include:
20-
# Focal ships with Python 3.8.10.
21-
- docker_image: zulip/ci:focal
22-
name: Ubuntu 20.04 (Python 3.8, backend)
23-
os: focal
24-
legacy_client_interface: "3"
25-
server_version: refs/tags/3.2
2620
# Bullseye ships with Python 3.9.2.
2721
- docker_image: zulip/ci:bullseye
2822
name: Debian 11 (Python 3.9, backend)
@@ -35,6 +29,18 @@ jobs:
3529
os: jammy
3630
legacy_client_interface: "6"
3731
server_version: refs/tags/6.0
32+
# Debian 12 ships with Python 3.11.2.
33+
- docker_image: zulip/ci:bookworm
34+
name: Debian 12 (Python 3.11, backend + documentation)
35+
os: bookworm
36+
legacy_client_interface: "7"
37+
server_version: refs/tags/7.0
38+
# Ubuntu 24.04 ships with Python 3.12.3.
39+
- docker_image: zulip/ci:noble
40+
name: Ubuntu 24.04 (Python 3.12, backend)
41+
os: noble
42+
legacy_client_interface: "8"
43+
server_version: refs/tags/8.5
3844

3945
runs-on: ubuntu-latest
4046
name: ${{ matrix.name }} (Zulip ${{matrix.server_version}})

.github/workflows/zulip-tests.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches:
66
- main
7+
- ci-12
78
pull_request:
89

910
jobs:
@@ -13,10 +14,10 @@ jobs:
1314
steps:
1415
- uses: actions/checkout@v4
1516

16-
- name: Set up Python 3.8
17+
- name: Set up Python 3.9
1718
uses: actions/setup-python@v5
1819
with:
19-
python-version: "3.8"
20+
python-version: "3.9"
2021

2122
- name: Install dependencies
2223
run: tools/provision --force
@@ -32,7 +33,7 @@ jobs:
3233
fail-fast: false
3334
matrix:
3435
os: [ubuntu-latest, windows-latest]
35-
python-version: ["3.8", "3.9", "3.10", "3.11"]
36+
python-version: ["3.9", "3.10", "3.11", "3.12"]
3637

3738
steps:
3839
- uses: actions/checkout@v4

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.black]
22
line-length = 100
3-
target-version = ["py38"]
3+
target-version = ["py39"]
44

55
[tool.isort]
66
src_paths = [

zulip/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
The [Zulip API](https://zulip.com/api) Python bindings require the
44
following dependencies:
55

6-
* **Python (version >= 3.8)**
6+
* **Python (version >= 3.9)**
77
* requests (version >= 0.12.1)
88

99
**Note**: If you'd like to use the Zulip bindings with Python 2, we

zulip/setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ def recur_expand(target_root: Any, dir: Any) -> Generator[Tuple[str, List[str]],
4242
"License :: OSI Approved :: Apache Software License",
4343
"Topic :: Communications :: Chat",
4444
"Programming Language :: Python :: 3",
45-
"Programming Language :: Python :: 3.8",
4645
"Programming Language :: Python :: 3.9",
4746
"Programming Language :: Python :: 3.10",
4847
"Programming Language :: Python :: 3.11",
48+
"Programming Language :: Python :: 3.12",
4949
],
50-
python_requires=">=3.8",
50+
python_requires=">=3.9",
5151
url="https://www.zulip.org/",
5252
project_urls={
5353
"Source": "https://github.com/zulip/python-zulip-api/",

zulip_bots/setup.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@
3232
"License :: OSI Approved :: Apache Software License",
3333
"Topic :: Communications :: Chat",
3434
"Programming Language :: Python :: 3",
35-
"Programming Language :: Python :: 3.8",
3635
"Programming Language :: Python :: 3.9",
3736
"Programming Language :: Python :: 3.10",
3837
"Programming Language :: Python :: 3.11",
38+
"Programming Language :: Python :: 3.12",
3939
],
40-
python_requires=">=3.8",
40+
python_requires=">=3.9",
4141
url="https://www.zulip.org/",
4242
project_urls={
4343
"Source": "https://github.com/zulip/python-zulip-api/",
@@ -56,7 +56,7 @@
5656
"lxml",
5757
"BeautifulSoup4",
5858
"typing_extensions>=4.5.0",
59-
'importlib-metadata >= 3.6; python_version < "3.10"',
59+
"importlib-metadata >= 3.6",
6060
],
6161
packages=find_packages(),
6262
package_data=package_data,

zulip_bots/zulip_bots/finder.py

-5
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,6 @@ class DuplicateRegisteredBotNameError(Exception):
3535

3636

3737
def import_module_from_zulip_bot_registry(name: str) -> Tuple[str, Optional[ModuleType]]:
38-
# Prior to Python 3.10, calling importlib.metadata.entry_points returns a
39-
# SelectableGroups object when no parameters is given. Currently we use
40-
# the importlib_metadata library for compatibility, but we need to migrate
41-
# to the built-in library when we start to adapt Python 3.10.
42-
# https://importlib-metadata.readthedocs.io/en/latest/using.html#entry-points
4338
registered_bots = metadata.entry_points(group="zulip_bots.registry")
4439
matching_bots = [bot for bot in registered_bots if bot.name == name]
4540

zulip_botserver/setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
"License :: OSI Approved :: Apache Software License",
2121
"Topic :: Communications :: Chat",
2222
"Programming Language :: Python :: 3",
23-
"Programming Language :: Python :: 3.8",
2423
"Programming Language :: Python :: 3.9",
2524
"Programming Language :: Python :: 3.10",
2625
"Programming Language :: Python :: 3.11",
26+
"Programming Language :: Python :: 3.12",
2727
],
28-
python_requires=">=3.8",
28+
python_requires=">=3.9",
2929
url="https://www.zulip.org/",
3030
project_urls={
3131
"Source": "https://github.com/zulip/python-zulip-api/",

0 commit comments

Comments
 (0)