Skip to content

Commit 860c070

Browse files
authored
Remove configuration and support for EOL 3.9 (#637)
1 parent 5fff071 commit 860c070

File tree

8 files changed

+26
-112
lines changed

8 files changed

+26
-112
lines changed

.github/workflows/check.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
python-version:
18-
- '3.9'
1918
- '3.13'
2019
steps:
2120
- uses: actions/checkout@v4

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
PYTHON_VERSION=3.9
1+
PYTHON_VERSION=3.13
22
SYSTEM_PYTHON=python$(PYTHON_VERSION)
33
VENV_DIR=./venv
44
REQUIREMENTS=requirements-$(PYTHON_VERSION).txt

README.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,6 @@ psycopg2 also requires libpq-dev:
4545
Configurations from this repository are applied from the `master` branch on
4646
a `*/15` cron interval using the `update-master` target in `Makefile`.
4747

48-
Python 3.9 is installed manually using ``pyenv`` (which was also installed
49-
manually). Commands to install Python 3.9:
50-
51-
pyenv update
52-
pyenv install 3.9.1
53-
pyenv global 3.8.1 3.9.1
54-
55-
5648
## Add a worker
5749

5850
The list of workers is stored in `/etc/buildbot/settings.yaml` on the server.

master/custom/builders.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
UnixAsanDebugBuild,
1111
UnixBigmemBuild,
1212
UnixTraceRefsBuild,
13-
UnixVintageParserBuild,
1413
UnixRefleakBuild,
1514
UnixNoGilBuild,
1615
UnixNoGilRefleakBuild,
@@ -220,8 +219,6 @@
220219

221220
("AMD64 Ubuntu", "skumaran-ubuntu-x86_64", UnixBuild),
222221

223-
("AMD64 Arch Linux VintageParser", "pablogsal-arch-x86_64", UnixVintageParserBuild),
224-
225222
("AMD64 RHEL8 FIPS No Builtin Hashes", "cstratak-RHEL8-fips-x86_64", RHEL8NoBuiltinHashesUnixBuild),
226223

227224
("AMD64 CentOS9", "cstratak-CentOS9-x86_64", CentOS9Build),

master/custom/factories.py

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ def setup(self, parallel, branch, test_with_PTY=False, **kwargs):
7777
# Adjust the timeout for this worker
7878
self.test_timeout *= kwargs.get("timeout_factor", 1)
7979

80-
# In 3.9 and 3.10, test_asyncio wasn't split out, and refleaks tests
80+
# In 3.10, test_asyncio wasn't split out, and refleaks tests
8181
# need more time.
82-
if branch in ("3.9", "3.10") and has_option("-R", self.testFlags):
82+
if branch == "3.10" and has_option("-R", self.testFlags):
8383
self.test_timeout *= 2
8484

8585
if self.build_out_of_tree:
@@ -159,11 +159,6 @@ def setup(self, parallel, branch, test_with_PTY=False, **kwargs):
159159
return super().setup(parallel, branch, test_with_PTY=test_with_PTY, **kwargs)
160160

161161

162-
class UnixVintageParserBuild(UnixBuild):
163-
buildersuffix = ".oldparser" # to get unique directory names on master
164-
test_environ = {'PYTHONOLDPARSER': 'old'}
165-
166-
167162
class UnixRefleakBuild(UnixBuild):
168163
buildersuffix = ".refleak"
169164
testFlags = ["-R", "3:3", "-u-cpu"]
@@ -308,17 +303,9 @@ class NonDebugUnixBuild(UnixBuild):
308303

309304
class PGOUnixBuild(NonDebugUnixBuild):
310305
buildersuffix = ".pgo"
311-
configureFlags = ["--enable-optimizations"]
306+
configureFlags = ["--enable-optimizations", "--with-readline=edit"]
312307
factory_tags = ["pgo"]
313308

314-
def setup(self, parallel, branch, *args, **kwargs):
315-
# Only Python >3.10 has --with-readline=edit
316-
if branch != '3.9':
317-
# Use libedit instead of libreadline on this buildbot for
318-
# some libedit Linux compilation coverage.
319-
self.configureFlags = self.configureFlags + ["--with-readline=edit"]
320-
return super().setup(parallel, branch, *args, **kwargs)
321-
322309

323310
class ClangUnixBuild(UnixBuild):
324311
buildersuffix = ".clang"

master/custom/workers.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ def get_workers(settings):
8686
name="cstratak-RHEL8-x86_64",
8787
tags=['linux', 'unix', 'rhel', 'amd64', 'x86-64'],
8888
parallel_tests=10,
89-
branches=['3.9', '3.10', '3.11', '3.12'],
89+
branches=['3.10', '3.11', '3.12'],
9090
),
9191
cpw(
9292
name="cstratak-RHEL8-fips-x86_64",
@@ -105,7 +105,7 @@ def get_workers(settings):
105105
tags=['linux', 'unix', 'rhel', 'amd64', 'x86-64', 'fips'],
106106
parallel_tests=6,
107107
# Only 3.12+ for FIPS builder
108-
not_branches=["3.9", "3.10", "3.11"],
108+
not_branches=["3.10", "3.11"],
109109
),
110110
cpw(
111111
name="cstratak-fedora-rawhide-ppc64le",
@@ -121,7 +121,7 @@ def get_workers(settings):
121121
name="cstratak-RHEL8-ppc64le",
122122
tags=['linux', 'unix', 'rhel', 'ppc64le'],
123123
parallel_tests=10,
124-
branches=['3.9', '3.10', '3.11', '3.12'],
124+
branches=['3.10', '3.11', '3.12'],
125125
),
126126
cpw(
127127
name="cstratak-CentOS9-ppc64le",
@@ -142,7 +142,7 @@ def get_workers(settings):
142142
name="cstratak-RHEL8-aarch64",
143143
tags=['linux', 'unix', 'rhel', 'arm', 'arm64', 'aarch64'],
144144
parallel_tests=40,
145-
branches=['3.9', '3.10', '3.11', '3.12'],
145+
branches=['3.10', '3.11', '3.12'],
146146
),
147147
cpw(
148148
name="cstratak-CentOS9-aarch64",
@@ -152,7 +152,7 @@ def get_workers(settings):
152152
cpw(
153153
name="diegorusso-aarch64-bigmem",
154154
tags=['linux', 'unix', 'ubuntu', 'arm', 'arm64', 'aarch64', 'bigmem'],
155-
not_branches=['3.9', '3.10', '3.11', '3.12', '3.13', '3.14'],
155+
not_branches=['3.10', '3.11', '3.12', '3.13', '3.14'],
156156
parallel_tests=8,
157157
),
158158
cpw(
@@ -169,7 +169,7 @@ def get_workers(settings):
169169
name="cstratak-rhel8-s390x",
170170
tags=['linux', 'unix', 'rhel', 's390x'],
171171
parallel_tests=10,
172-
branches=['3.9', '3.10', '3.11', '3.12'],
172+
branches=['3.10', '3.11', '3.12'],
173173
),
174174
cpw(
175175
name="cstratak-rhel9-s390x",
@@ -193,7 +193,7 @@ def get_workers(settings):
193193
'aarch64', 'arm'],
194194
parallel_tests=4,
195195
# Tests fail with latin1 encoding on 3.12, probably earlier
196-
not_branches=['3.12', '3.11', '3.10', '3.9']
196+
not_branches=['3.12', '3.11', '3.10']
197197
),
198198
cpw(
199199
name="savannah-raspbian",
@@ -227,7 +227,7 @@ def get_workers(settings):
227227
cpw(
228228
name="ware-alpine",
229229
tags=['linux', 'unix', 'alpine', 'docker', 'amd64', 'x86-64', 'musl'],
230-
not_branches=['3.9', '3.10', '3.11', '3.12', '3.13'],
230+
not_branches=['3.10', '3.11', '3.12', '3.13'],
231231
),
232232
cpw(
233233
name="ware-freebsd",
@@ -262,77 +262,77 @@ def get_workers(settings):
262262
cpw(
263263
name="bcannon-wasi",
264264
tags=['wasm', 'wasi'],
265-
not_branches=['3.9', '3.10'],
265+
not_branches=['3.10'],
266266
parallel_tests=2,
267267
parallel_builders=2,
268268
),
269269
cpw(
270270
name="ambv-bb-win11",
271271
tags=['windows', 'win11', 'amd64', 'x86-64', 'bigmem'],
272-
not_branches=['3.9', '3.10', '3.11', '3.12', '3.13'],
272+
not_branches=['3.10', '3.11', '3.12', '3.13'],
273273
parallel_tests=4,
274274
),
275275
cpw(
276276
name="itamaro-centos-aws",
277277
tags=['linux', 'unix', 'rhel', 'amd64', 'x86-64'],
278-
not_branches=['3.9', '3.10', '3.11', '3.12'],
278+
not_branches=['3.10', '3.11', '3.12'],
279279
parallel_tests=10,
280280
parallel_builders=2,
281281
),
282282
cpw(
283283
name="itamaro-win64-srv-22-aws",
284284
tags=['windows', 'win-srv-22', 'amd64', 'x86-64'],
285-
not_branches=['3.9', '3.10', '3.11', '3.12'],
285+
not_branches=['3.10', '3.11', '3.12'],
286286
parallel_tests=10,
287287
parallel_builders=2,
288288
),
289289
cpw(
290290
name="itamaro-macos-intel-aws",
291291
tags=['macOS', 'unix', 'amd64', 'x86-64'],
292-
not_branches=['3.9', '3.10', '3.11', '3.12'],
292+
not_branches=['3.10', '3.11', '3.12'],
293293
parallel_tests=10,
294294
),
295295
cpw(
296296
name="itamaro-macos-arm64-aws",
297297
tags=['macOS', 'unix', 'arm', 'arm64'],
298-
not_branches=['3.9', '3.10', '3.11', '3.12'],
298+
not_branches=['3.10', '3.11', '3.12'],
299299
parallel_tests=10,
300300
),
301301
cpw(
302302
name="kushaldas-wasi",
303303
tags=['wasm', 'wasi'],
304-
not_branches=['3.9', '3.10'],
304+
not_branches=['3.10'],
305305
parallel_tests=4,
306306
parallel_builders=2,
307307
),
308308
cpw(
309309
name="onder-riscv64",
310310
tags=['linux', 'unix', 'ubuntu', 'riscv64'],
311-
not_branches=['3.9', '3.10'],
311+
not_branches=['3.10'],
312312
parallel_tests=4,
313313
),
314314
cpw(
315315
name="rkm-arm64-ios-simulator",
316316
tags=['iOS'],
317-
not_branches=['3.9', '3.10', '3.11', '3.12'],
317+
not_branches=['3.10', '3.11', '3.12'],
318318
parallel_builders=1, # All builds use the same simulator
319319
),
320320
cpw(
321321
name="rkm-emscripten",
322322
tags=['emscripten'],
323-
not_branches=['3.9', '3.10', '3.11', '3.12', '3.13'],
323+
not_branches=['3.10', '3.11', '3.12', '3.13'],
324324
parallel_builders=4,
325325
),
326326
cpw(
327327
name="mhsmith-android-aarch64",
328328
tags=['android'],
329-
not_branches=['3.9', '3.10', '3.11', '3.12'],
329+
not_branches=['3.10', '3.11', '3.12'],
330330
parallel_builders=1, # All builds use the same emulator and app ID.
331331
),
332332
cpw(
333333
name="mhsmith-android-x86_64",
334334
tags=['android'],
335-
not_branches=['3.9', '3.10', '3.11', '3.12'],
335+
not_branches=['3.10', '3.11', '3.12'],
336336
parallel_builders=1, # All builds use the same emulator and app ID.
337337
),
338338
]

master/master.cfg

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ git_branches = [
138138
(git_url, "3.12", "3.12"),
139139
(git_url, "3.11", "3.11"),
140140
(git_url, "3.10", "3.10"),
141-
(git_url, "3.9", "3.9"),
142141
]
143142

144143
# common Git() and GitHub() keyword arguments
@@ -257,9 +256,6 @@ for branch_num, (git_url, branchname, git_branch) in enumerate(git_branches):
257256
# Workers known to be broken on older branches: let's focus on
258257
# supporting these platforms in the main branch.
259258
continue
260-
# Only 3.9 has two parsers mode from Python 3.9 and higher
261-
if "VintageParser" in name and branchname != "3.9":
262-
continue
263259

264260
worker = WORKERS_BY_NAME[worker_name]
265261
if worker.not_branches and branchname in worker.not_branches:
@@ -282,7 +278,7 @@ for branch_num, (git_url, branchname, git_branch) in enumerate(git_branches):
282278
# Only 3.11+ for WebAssembly builds
283279
if "wasm" in tags:
284280
# WASM wasn't a supported platform until 3.11.
285-
if branchname in {"3.9", "3.10"}:
281+
if branchname in {"3.10"}:
286282
continue
287283
# Tier 3 support is 3.11 & 3.12.
288284
elif "nondebug" in tags and branchname not in {"3.11", "3.12"}:
@@ -292,7 +288,7 @@ for branch_num, (git_url, branchname, git_branch) in enumerate(git_branches):
292288
continue
293289

294290
# Only 3.13+ for NoGIL builds
295-
if 'nogil' in tags and branchname in {"3.9", "3.10", "3.11", "3.12"}:
291+
if 'nogil' in tags and branchname in {"3.10", "3.11", "3.12"}:
296292
continue
297293

298294
if 'refleak' in tags:

requirements-3.9.txt

Lines changed: 0 additions & 57 deletions
This file was deleted.

0 commit comments

Comments
 (0)