Skip to content

Commit b1edb72

Browse files
committed
Merge branch 'main' of https://github.com/python/buildmaster-config into wasm32-wasip1
2 parents 09bbce6 + a4df363 commit b1edb72

17 files changed

+1017
-435
lines changed

LICENSE.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Copyright (c) 2017 Zachary Ware, Victor Stinner, Pablo Galindo Salgado, and contributors
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy of
4+
this software and associated documentation files (the "Software"), to deal in
5+
the Software without restriction, including without limitation the rights to
6+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7+
the Software, and to permit persons to whom the Software is furnished to do so,
8+
subject to the following conditions:
9+
10+
The above copyright notice and this permission notice shall be included in all
11+
copies or substantial portions of the Software.
12+
13+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Makefile

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ clean:
2020

2121
$(VENV_CHECK): requirements.txt
2222
$(SYSTEM_PYTHON) -m venv --clear venv
23-
$(PIP) install -U pip 'setuptools<58.0' wheel
23+
$(PIP) install -U pip
2424
$(PIP) install -r requirements.txt
2525

2626
regen-requirements:
2727
$(SYSTEM_PYTHON) -m venv --clear venv
28-
$(PIP) install -U pip 'setuptools<58.0' wheel
28+
$(PIP) install -U pip
2929
$(PIP) install -U -r requirements.in
3030
$(PIP) freeze > requirements.txt
3131

@@ -34,7 +34,7 @@ regen-requirements:
3434
.PHONY: check
3535

3636
check: $(VENV_CHECK)
37-
$(BUILDBOT) checkconfig master/master.cfg
37+
$(BUILDBOT) checkconfig master
3838

3939
# Management targets
4040

@@ -71,3 +71,10 @@ stop-master: run-target
7171

7272
run-target: $(VENV_CHECK)
7373
$(BUILDBOT) $(TARGET) master; tail -n$(LOGLINES) master/twistd.log
74+
75+
git-update-requirements:
76+
git switch main
77+
git pull
78+
git switch -c reqs main
79+
make regen-requirements
80+
git ci -a -m "run make regen-requirements"

README.md

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,10 @@ contains secrets like the IRC nickname password.
1414

1515
Run locally:
1616

17-
git switch -c reqs
18-
make regen-requirements
19-
git ci -a -m "run make regen-requirements"
17+
make git-update-requirements
2018

21-
Create a PR. Merge the PR. The new venv will be recreated automatically on the
22-
server.
23-
24-
If something goes wrong, commands to recreate the venv *manually* on the
25-
server:
26-
27-
make stop-master
28-
git pull
29-
mv venv old-venv
30-
make venv
31-
make start-master
32-
33-
# then you may watch logs in realtime:
34-
# tail -F master/twistd.log
19+
Review updated packages, pay attention to buildbot updates. Create a PR. Merge
20+
the PR. The new venv will be recreated automatically on the server.
3521

3622
Upgrading buildbot sometimes requires to run the command:
3723

master/custom/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
MAIN_BRANCH_VERSION = "3.13"
2-
CUSTOM_BRANCH_NAME = "custom"
1+
MAIN_BRANCH_VERSION = "3.14"
32
# The Git branch is called "main", but we give it a different name in buildbot.
43
# See git_branches in master/master.cfg.
54
MAIN_BRANCH_NAME = "3.x"

master/custom/builders.py

Lines changed: 51 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
from custom.factories import (
22
UnixBuild,
33
UnixPerfBuild,
4-
RHEL7Build,
54
RHEL8Build,
65
CentOS9Build,
76
FedoraStableBuild,
87
FedoraRawhideBuild,
8+
FedoraRawhideFreedthreadingBuild,
99
UnixAsanBuild,
1010
UnixAsanDebugBuild,
11+
UnixBigmemBuild,
1112
UnixTraceRefsBuild,
1213
UnixVintageParserBuild,
1314
UnixRefleakBuild,
@@ -16,17 +17,17 @@
1617
MacOSAsanNoGilBuild,
1718
AIXBuild,
1819
AIXBuildWithXLC,
19-
PGOUnixBuild,
2020
ClangUnixBuild,
2121
ClangUbsanLinuxBuild,
22+
ClangUbsanFunctionLinuxBuild,
2223
ClangUnixInstalledBuild,
2324
SharedUnixBuild,
2425
SlowNonDebugUnixBuild,
26+
SlowUnixInstalledBuild,
2527
NonDebugUnixBuild,
2628
UnixInstalledBuild,
2729
LTONonDebugUnixBuild,
2830
LTOPGONonDebugBuild,
29-
ClangLTOPGONonDebugBuild,
3031
RHEL8NoBuiltinHashesUnixBuild,
3132
RHEL8NoBuiltinHashesUnixBuildExceptBlake2,
3233
CentOS9NoBuiltinHashesUnixBuild,
@@ -43,6 +44,9 @@
4344
WindowsARM64ReleaseBuild,
4445
Wasm32WasiCrossBuild,
4546
Wasm32WasiDebugBuild,
47+
IOSARM64SimulatorBuild,
48+
AndroidBuild,
49+
ValgrindBuild,
4650
)
4751

4852
# A builder can be marked as stable when at least the 10 latest builds are
@@ -66,22 +70,17 @@
6670
STABLE_BUILDERS_TIER_1 = [
6771
# Linux x86-64 GCC
6872
("AMD64 Debian root", "angelico-debian-amd64", UnixBuild),
69-
("AMD64 Debian PGO", "gps-debian-profile-opt", PGOUnixBuild),
7073
("AMD64 Ubuntu Shared", "bolen-ubuntu", SharedUnixBuild),
7174
("AMD64 Fedora Stable", "cstratak-fedora-stable-x86_64", FedoraStableBuild),
7275
("AMD64 Fedora Stable Refleaks", "cstratak-fedora-stable-x86_64", UnixRefleakBuild),
7376
("AMD64 Fedora Stable LTO", "cstratak-fedora-stable-x86_64", LTONonDebugUnixBuild),
7477
("AMD64 Fedora Stable LTO + PGO", "cstratak-fedora-stable-x86_64", LTOPGONonDebugBuild),
75-
("AMD64 RHEL7", "cstratak-RHEL7-x86_64", RHEL7Build),
76-
("AMD64 RHEL7 Refleaks", "cstratak-RHEL7-x86_64", UnixRefleakBuild),
77-
("AMD64 RHEL7 LTO", "cstratak-RHEL7-x86_64", LTONonDebugUnixBuild),
78-
("AMD64 RHEL7 LTO + PGO", "cstratak-RHEL7-x86_64", LTOPGONonDebugBuild),
7978
("AMD64 RHEL8", "cstratak-RHEL8-x86_64", RHEL8Build),
8079
("AMD64 RHEL8 Refleaks", "cstratak-RHEL8-x86_64", UnixRefleakBuild),
8180
("AMD64 RHEL8 LTO", "cstratak-RHEL8-x86_64", LTONonDebugUnixBuild),
8281
("AMD64 RHEL8 LTO + PGO", "cstratak-RHEL8-x86_64", LTOPGONonDebugBuild),
83-
("AMD64 Ubuntu NoGIL", "itamaro-ubuntu-aws", UnixNoGilBuild),
84-
("AMD64 Ubuntu NoGIL Refleaks", "itamaro-ubuntu-aws", UnixNoGilRefleakBuild),
82+
("AMD64 CentOS9 NoGIL", "itamaro-centos-aws", UnixNoGilBuild),
83+
("AMD64 CentOS9 NoGIL Refleaks", "itamaro-centos-aws", UnixNoGilRefleakBuild),
8584

8685
# Windows x86-64 MSVC
8786
("AMD64 Windows10", "bolen-windows10", Windows64Build),
@@ -104,18 +103,11 @@
104103
("AMD64 Fedora Stable Clang Installed", "cstratak-fedora-stable-x86_64", ClangUnixInstalledBuild),
105104

106105
# Linux ppc64le GCC
107-
("PPC64 Fedora", "edelsohn-fedora-ppc64", FedoraStableBuild),
108-
109106
("PPC64LE Fedora Stable", "cstratak-fedora-stable-ppc64le", FedoraStableBuild),
110107
("PPC64LE Fedora Stable Refleaks", "cstratak-fedora-stable-ppc64le", UnixRefleakBuild),
111108
("PPC64LE Fedora Stable LTO", "cstratak-fedora-stable-ppc64le", LTONonDebugUnixBuild),
112109
("PPC64LE Fedora Stable LTO + PGO", "cstratak-fedora-stable-ppc64le", LTOPGONonDebugBuild),
113110

114-
("PPC64LE RHEL7", "cstratak-RHEL7-ppc64le", RHEL7Build),
115-
("PPC64LE RHEL7 Refleaks", "cstratak-RHEL7-ppc64le", UnixRefleakBuild),
116-
("PPC64LE RHEL7 LTO", "cstratak-RHEL7-ppc64le", LTONonDebugUnixBuild),
117-
("PPC64LE RHEL7 LTO + PGO", "cstratak-RHEL7-ppc64le", LTOPGONonDebugBuild),
118-
119111
("PPC64LE RHEL8", "cstratak-RHEL8-ppc64le", RHEL8Build),
120112
("PPC64LE RHEL8 Refleaks", "cstratak-RHEL8-ppc64le", UnixRefleakBuild),
121113
("PPC64LE RHEL8 LTO", "cstratak-RHEL8-ppc64le", LTONonDebugUnixBuild),
@@ -134,8 +126,6 @@
134126
("aarch64 RHEL8 LTO", "cstratak-RHEL8-aarch64", LTONonDebugUnixBuild),
135127
("aarch64 RHEL8 LTO + PGO", "cstratak-RHEL8-aarch64", LTOPGONonDebugBuild),
136128

137-
("aarch64 Debian Clang LTO + PGO", "gps-arm64-debian", ClangLTOPGONonDebugBuild),
138-
139129
# macOS aarch64 clang
140130
("ARM64 macOS", "pablogsal-macos-m1", MacOSArmWithBrewBuild),
141131
("ARM64 MacOS M1 NoGIL", "itamaro-macos-arm64-aws", MacOSArmWithBrewNoGilBuild),
@@ -149,21 +139,16 @@
149139

150140
# -- Stable Tier-3 builder ----------------------------------------------
151141
STABLE_BUILDERS_TIER_3 = [
142+
152143
# Linux s390x GCC
153-
("s390x SLES", "edelsohn-sles-z", UnixBuild),
154-
("s390x Debian", "edelsohn-debian-z", UnixBuild),
155-
("s390x Fedora", "edelsohn-fedora-z", UnixBuild),
156-
("s390x Fedora Refleaks", "edelsohn-fedora-z", UnixRefleakBuild),
157-
("s390x Fedora LTO", "edelsohn-fedora-z", LTONonDebugUnixBuild),
158-
("s390x Fedora LTO + PGO", "edelsohn-fedora-z", LTOPGONonDebugBuild),
159-
("s390x RHEL7", "edelsohn-rhel-z", UnixBuild),
160-
("s390x RHEL7 Refleaks", "edelsohn-rhel-z", UnixRefleakBuild),
161-
("s390x RHEL7 LTO", "edelsohn-rhel-z", LTONonDebugUnixBuild),
162-
("s390x RHEL7 LTO + PGO", "edelsohn-rhel-z", LTOPGONonDebugBuild),
163-
("s390x RHEL8", "edelsohn-rhel8-z", UnixBuild),
164-
("s390x RHEL8 Refleaks", "edelsohn-rhel8-z", UnixRefleakBuild),
165-
("s390x RHEL8 LTO", "edelsohn-rhel8-z", LTONonDebugUnixBuild),
166-
("s390x RHEL8 LTO + PGO", "edelsohn-rhel8-z", LTOPGONonDebugBuild),
144+
("s390x RHEL9", "cstratak-rhel9-s390x", UnixBuild),
145+
("s390x RHEL9 Refleaks", "cstratak-rhel9-s390x", UnixRefleakBuild),
146+
("s390x RHEL9 LTO", "cstratak-rhel9-s390x", LTONonDebugUnixBuild),
147+
("s390x RHEL9 LTO + PGO", "cstratak-rhel9-s390x", LTOPGONonDebugBuild),
148+
("s390x RHEL8", "cstratak-rhel8-s390x", UnixBuild),
149+
("s390x RHEL8 Refleaks", "cstratak-rhel8-s390x", UnixRefleakBuild),
150+
("s390x RHEL8 LTO", "cstratak-rhel8-s390x", LTONonDebugUnixBuild),
151+
("s390x RHEL8 LTO + PGO", "cstratak-rhel8-s390x", LTOPGONonDebugBuild),
167152

168153
# Linux ppc64le Clang
169154
("PPC64LE Fedora Stable Clang", "cstratak-fedora-stable-ppc64le", ClangUnixBuild),
@@ -174,11 +159,19 @@
174159

175160
# FreBSD x86-64 clang
176161
("AMD64 FreeBSD", "ware-freebsd", UnixBuild),
162+
("AMD64 FreeBSD Refleaks", "ware-freebsd", UnixRefleakBuild),
177163
("AMD64 FreeBSD14", "opsec-fbsd14", UnixBuild),
178164

179165
# Windows aarch64 MSVC
180166
("ARM64 Windows", "linaro-win-arm64", WindowsARM64Build),
181167
("ARM64 Windows Non-Debug", "linaro-win-arm64", WindowsARM64ReleaseBuild),
168+
169+
# iOS
170+
("iOS ARM64 Simulator", "rkm-arm64-ios-simulator", IOSARM64SimulatorBuild),
171+
172+
# Android
173+
("aarch64 Android", "mhsmith-android-aarch64", AndroidBuild),
174+
("AMD64 Android", "mhsmith-android-x86_64", AndroidBuild),
182175
]
183176

184177

@@ -188,14 +181,16 @@
188181
# Special builds: FIPS, ASAN, UBSAN, TraceRefs, Perf, etc.
189182
("AMD64 RHEL8 FIPS Only Blake2 Builtin Hash", "cstratak-RHEL8-fips-x86_64", RHEL8NoBuiltinHashesUnixBuildExceptBlake2),
190183
("AMD64 Arch Linux Asan", "pablogsal-arch-x86_64", UnixAsanBuild),
191-
("AMD64 Arch Linux Usan", "pablogsal-arch-x86_64", ClangUbsanLinuxBuild),
192184
("AMD64 Arch Linux Asan Debug", "pablogsal-arch-x86_64", UnixAsanDebugBuild),
193185
("AMD64 Arch Linux TraceRefs", "pablogsal-arch-x86_64", UnixTraceRefsBuild),
194186
("AMD64 Arch Linux Perf", "pablogsal-arch-x86_64", UnixPerfBuild),
187+
# UBSAN with -fno-sanitize=function, without which we currently fail (as
188+
# tracked in gh-111178). The full "AMD64 Arch Linux Usan" is unstable, below
189+
("AMD64 Arch Linux Usan Function", "pablogsal-arch-x86_64", ClangUbsanFunctionLinuxBuild),
195190

196-
# Linux s390x Clang
197-
("s390x Fedora Clang", "edelsohn-fedora-z", ClangUnixBuild),
198-
("s390x Fedora Clang Installed", "edelsohn-fedora-z", ClangUnixInstalledBuild),
191+
# Linux x86 (32-bit) GCC
192+
("x86 Debian Non-Debug with X", "ware-debian-x86", NonDebugUnixBuild),
193+
("x86 Debian Installed with X", "ware-debian-x86", UnixInstalledBuild),
199194
]
200195

201196

@@ -220,6 +215,8 @@
220215
("AMD64 CentOS9 LTO + PGO", "cstratak-CentOS9-x86_64", LTOPGONonDebugBuild),
221216
("AMD64 CentOS9 FIPS Only Blake2 Builtin Hash", "cstratak-CentOS9-fips-x86_64", CentOS9NoBuiltinHashesUnixBuildExceptBlake2),
222217
("AMD64 CentOS9 FIPS No Builtin Hashes", "cstratak-CentOS9-fips-x86_64", CentOS9NoBuiltinHashesUnixBuild),
218+
219+
("AMD64 Arch Linux Valgrind", "pablogsal-arch-x86_64", ValgrindBuild),
223220
]
224221

225222

@@ -230,7 +227,6 @@
230227
# UBSan is a special build
231228
("AMD64 Fedora Rawhide Clang", "cstratak-fedora-rawhide-x86_64", ClangUnixBuild),
232229
("AMD64 Fedora Rawhide Clang Installed", "cstratak-fedora-rawhide-x86_64", ClangUnixInstalledBuild),
233-
("AMD64 Clang UBSan", "gps-clang-ubsan", ClangUbsanLinuxBuild),
234230

235231
# Linux ppc64le GCC
236232
# Fedora Rawhide is unstable
@@ -245,6 +241,8 @@
245241
("PPC64LE CentOS9 LTO + PGO", "cstratak-CentOS9-ppc64le", LTOPGONonDebugBuild),
246242

247243
# Linux aarch64 GCC/Clang
244+
("aarch64 Ubuntu 22.04 BigMem", "diegorusso-aarch64-bigmem", UnixBigmemBuild),
245+
248246
# Fedora Rawhide is unstable
249247
("aarch64 Fedora Rawhide", "cstratak-fedora-rawhide-aarch64", FedoraRawhideBuild),
250248
("aarch64 Fedora Rawhide Refleaks", "cstratak-fedora-rawhide-aarch64", UnixRefleakBuild),
@@ -269,13 +267,6 @@
269267
("PPC64LE Fedora Rawhide Clang", "cstratak-fedora-rawhide-ppc64le", ClangUnixBuild),
270268
("PPC64LE Fedora Rawhide Clang Installed", "cstratak-fedora-rawhide-ppc64le", ClangUnixInstalledBuild),
271269

272-
# Linux s390x GCC
273-
# Fedora Rawhide is unstable
274-
("s390x Fedora Rawhide", "edelsohn-fedora-rawhide-z", UnixBuild),
275-
("s390x Fedora Rawhide Refleaks", "edelsohn-fedora-rawhide-z", UnixRefleakBuild),
276-
("s390x Fedora Rawhide LTO", "edelsohn-fedora-rawhide-z", LTONonDebugUnixBuild),
277-
("s390x Fedora Rawhide LTO + PGO", "edelsohn-fedora-rawhide-z", LTOPGONonDebugBuild),
278-
279270
# FreBSD x86-64 clang
280271
# FreeBSD 15 is CURRENT: development branch (at 2023-10-17)
281272
("AMD64 FreeBSD15", "opsec-fbsd15", UnixBuild),
@@ -287,20 +278,27 @@
287278
# Linux x86-64 GCC musl
288279
("AMD64 Alpine Linux", "ware-alpine", UnixBuild),
289280

290-
# Linux x86 (32-bit) GCC
291-
("x86 Debian Non-Debug with X", "ware-debian-x86", NonDebugUnixBuild),
292-
("x86 Debian Installed with X", "ware-debian-x86", UnixInstalledBuild),
293-
294-
# Linux s390x Clang
295-
("s390x Fedora Rawhide Clang", "edelsohn-fedora-rawhide-z", ClangUnixBuild),
296-
("s390x Fedora Rawhide Clang Installed", "edelsohn-fedora-rawhide-z", ClangUnixInstalledBuild),
281+
# Linux x86-64 GCC Fedora Rawhide Freethreading builders
282+
("AMD64 Fedora Rawhide NoGIL", "cstratak-fedora-rawhide-x86_64", FedoraRawhideFreedthreadingBuild),
283+
("aarch64 Fedora Rawhide NoGIL", "cstratak-fedora-rawhide-aarch64", FedoraRawhideFreedthreadingBuild),
284+
("PPC64LE Fedora Rawhide NoGIL", "cstratak-fedora-rawhide-ppc64le", FedoraRawhideFreedthreadingBuild),
285+
# Linux x86-64 GCC Fedora Rawhide Freethreading refleak builders
286+
("AMD64 Fedora Rawhide NoGIL refleaks", "cstratak-fedora-rawhide-x86_64", UnixNoGilRefleakBuild),
287+
("aarch64 Fedora Rawhide NoGIL refleaks", "cstratak-fedora-rawhide-aarch64", UnixNoGilRefleakBuild),
288+
("PPC64LE Fedora Rawhide NoGIL refleaks", "cstratak-fedora-rawhide-ppc64le", UnixNoGilRefleakBuild),
297289

298290
# AIX ppc64
299291
("PPC64 AIX", "edelsohn-aix-ppc64", AIXBuild),
300292
("PPC64 AIX XLC", "edelsohn-aix-ppc64", AIXBuildWithXLC),
301293

302294
# Solaris sparcv9
303295
("SPARCv9 Oracle Solaris 11.4", "kulikjak-solaris-sparcv9", UnixBuild),
296+
297+
# riscv64 GCC
298+
("riscv64 Ubuntu23", "onder-riscv64", SlowUnixInstalledBuild),
299+
300+
# Arch Usan (see stable "AMD64 Arch Linux Usan Function" above)
301+
("AMD64 Arch Linux Usan", "pablogsal-arch-x86_64", ClangUbsanLinuxBuild),
304302
]
305303

306304

@@ -326,31 +324,6 @@ def get_builders(settings):
326324
return all_builders
327325

328326

329-
DAILYBUILDERS = [
330-
"AMD64 Windows11 Refleaks",
331-
"AMD64 Fedora Rawhide Refleaks",
332-
"AMD64 Fedora Stable Refleaks",
333-
"AMD64 RHEL7 Refleaks",
334-
"AMD64 RHEL8 Refleaks",
335-
"AMD64 CentOS9 Refleaks",
336-
# Linux PPC64LE
337-
"PPC64LE Fedora Rawhide Refleaks",
338-
"PPC64LE Fedora Stable Refleaks",
339-
"PPC64LE RHEL7 Refleaks",
340-
"PPC64LE RHEL8 Refleaks",
341-
"PPC64LE CentOS9 Refleaks",
342-
# Linux s390x
343-
"s390x Fedora Rawhide Refleaks",
344-
"s390x Fedora Refleaks",
345-
"s390x RHEL7 Refleaks",
346-
"s390x RHEL8 Refleaks",
347-
# Linux aarch64
348-
"aarch64 Fedora Rawhide Refleaks",
349-
"aarch64 Fedora Stable Refleaks",
350-
"aarch64 RHEL8 Refleaks",
351-
"aarch64 CentOS9 Refleaks",
352-
]
353-
354327
# Match builder name (excluding the branch name) of builders that should only
355328
# run on the main and "custom" branches.
356329
ONLY_MAIN_BRANCH = (
@@ -359,4 +332,5 @@ def get_builders(settings):
359332
"Cygwin",
360333
"ARM64 Windows",
361334
"AMD64 Arch Linux Perf",
335+
"AMD64 Arch Linux Valgrind",
362336
)

master/custom/discord_reporter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def sendMessage(self, reports):
141141

142142
def _getURLForBuild(self, builderid, build_number):
143143
prefix = self.master.config.buildbotURL
144-
return prefix + "#builders/%d/builds/%d" % (builderid, build_number)
144+
return prefix + "#/builders/%d/builds/%d" % (builderid, build_number)
145145

146146
def createReport(
147147
self,

0 commit comments

Comments
 (0)