Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions master/custom/builders.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,8 @@
RHEL8NoBuiltinHashesUnixBuildExceptBlake2,
CentOS9NoBuiltinHashesUnixBuild,
CentOS9NoBuiltinHashesUnixBuildExceptBlake2,
CentOS10NoBuiltinHashesUnixBuild,
CentOS10NoBuiltinHashesUnixBuildExceptBlake2,
Windows64Build,
Windows64NoGilBuild,
Windows64PGOTailcallBuild,
Expand Down Expand Up @@ -400,13 +402,22 @@ def generate_builderdefs(tags, entries):
("AMD64 Fedora Rawhide LTO", "cstratak-fedora-rawhide-x86_64", LTONonDebugUnixBuild),
("AMD64 Fedora Rawhide LTO + PGO", "cstratak-fedora-rawhide-x86_64", LTOPGONonDebugBuild),

# CentOS Stream 10 Linux x86-64 GCC
("AMD64 CentOS10", "cstratak-CentOS10-x86_64", CentOS10Build),
("AMD64 CentOS10 Refleaks", "cstratak-CentOS10-x86_64", UnixRefleakBuild),
("AMD64 CentOS10 LTO", "cstratak-CentOS10-x86_64", LTONonDebugUnixBuild),
("AMD64 CentOS10 LTO + PGO", "cstratak-CentOS10-x86_64", LTOPGONonDebugBuild),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that Fedora, CentOS, RHEL workers always use LTO. See for example "aarch64 CentOS10 3.x":
https://buildbot.python.org/#/builders/2168/builds/806. The test output says "== Python build: debug shared LTO valgrind dtrace": notice "LTO".

I'm not sure that it's useful to duplicate have "CentOS" and "CentOS LTO", it's redundant, no?

This remarks is for all Fedora, CentOS and RHEL machines, not only these new works.

I suggest to only keep "CentOS LTO" and remove ""CentOS", so it's more explicit that LTO is used.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They share LTO but they are different builds. aarch64 CentOS10 is CentOS10Build, the Fedora/RHEL spec configuration (--with-pydebug --enable-shared --with-valgrind --with-system-libmpdec --with-system-expat etc). aarch64 CentOS10 LTO is LTONonDebugUnixBuild, a vanilla release build whose only flag is --with-lto.

So the base builder is the debug, RPM-like one and the LTO builder is really the non-debug one.

But yeah the LTO suffix is not a good name for both. Maybe Non-Debug would be better

I'm planning to actually go through all my workers and builders and verify disrepancies like that but it's a bigger change to cram into this PR.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh ok, it's more subtle than what I expected. In that case, it makes sense to have two builders.


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

("AMD64 RHEL8 FIPS No Builtin Hashes", "cstratak-RHEL8-fips-x86_64", RHEL8NoBuiltinHashesUnixBuild),

("AMD64 CentOS9 FIPS Only Blake2 Builtin Hash", "cstratak-CentOS9-fips-x86_64", CentOS9NoBuiltinHashesUnixBuildExceptBlake2),
("AMD64 CentOS9 FIPS No Builtin Hashes", "cstratak-CentOS9-fips-x86_64", CentOS9NoBuiltinHashesUnixBuild),

("AMD64 CentOS10 FIPS Only Blake2 Builtin Hash", "cstratak-CentOS10-fips-x86_64", CentOS10NoBuiltinHashesUnixBuildExceptBlake2),
("AMD64 CentOS10 FIPS No Builtin Hashes", "cstratak-CentOS10-fips-x86_64", CentOS10NoBuiltinHashesUnixBuild),

BuilderDef(
"AMD64 Arch Linux Valgrind",
ValgrindBuild,
Expand All @@ -425,6 +436,10 @@ def generate_builderdefs(tags, entries):
("AMD64 Fedora Rawhide Clang", "cstratak-fedora-rawhide-x86_64", ClangUnixBuild),
("AMD64 Fedora Rawhide Clang Installed", "cstratak-fedora-rawhide-x86_64", ClangUnixInstalledBuild),

# CentOS Stream 10 Linux x86-64 Clang
("AMD64 CentOS10 Clang", "cstratak-CentOS10-x86_64", ClangUnixBuild),
("AMD64 CentOS10 Clang Installed", "cstratak-CentOS10-x86_64", ClangUnixInstalledBuild),

# Fedora Linux ppc64le GCC
# Fedora Rawhide is unstable
("PPC64LE Fedora Rawhide", "cstratak-fedora-rawhide-ppc64le", FedoraRawhideBuild),
Expand Down
18 changes: 18 additions & 0 deletions master/custom/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -557,6 +557,24 @@ class CentOS9NoBuiltinHashesUnixBuild(CentOS9Build):
factory_tags = ["no-builtin-hashes"]


class CentOS10NoBuiltinHashesUnixBuildExceptBlake2(CentOS10Build):
# Build on 64-bit CentOS Stream 10 using: --with-builtin-hashlib-hashes=blake2
buildersuffix = ".no-builtin-hashes-except-blake2"
configureFlags = CentOS10Build.configureFlags + [
"--with-builtin-hashlib-hashes=blake2"
]
factory_tags = ["no-builtin-hashes-except-blake2"]


class CentOS10NoBuiltinHashesUnixBuild(CentOS10Build):
# Build on 64-bit CentOS Stream 10 using: --without-builtin-hashlib-hashes
buildersuffix = ".no-builtin-hashes"
configureFlags = CentOS10Build.configureFlags + [
"--without-builtin-hashlib-hashes"
]
factory_tags = ["no-builtin-hashes"]


##############################################################################
############################ MACOS BUILDS ##################################
##############################################################################
Expand Down
12 changes: 12 additions & 0 deletions master/custom/workers.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,18 @@ def get_workers(settings):
# Only 3.12+ for FIPS builder
branches=BRANCHES.only_since(3, 12),
),
cpw(
name="cstratak-CentOS10-x86_64",
tags=['linux', 'unix', 'rhel', 'amd64', 'x86-64', 'dtrace'],
parallel_tests=6,
),
cpw(
name="cstratak-CentOS10-fips-x86_64",
tags=['linux', 'unix', 'rhel', 'amd64', 'x86-64', 'fips', 'dtrace'],
parallel_tests=6,
# Only 3.12+ for FIPS builder
branches=BRANCHES.only_since(3, 12),
),
cpw(
name="cstratak-fedora-rawhide-ppc64le",
tags=['linux', 'unix', 'fedora', 'ppc64le', 'dtrace'],
Expand Down
Loading