Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FedoraBuild for Fedora and RHEL #264

Merged
merged 4 commits into from
Sep 9, 2021
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
44 changes: 24 additions & 20 deletions master/custom/builders.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
from custom.factories import (
UnixBuild,
RHEL7Build,
RHEL8Build,
FedoraStableBuild,
FedoraRawhideBuild,
UnixAsanBuild,
UnixAsanDebugBuild,
UnixTraceRefsBuild,
Expand All @@ -17,8 +21,8 @@
SharedUnixBuild,
LTONonDebugUnixBuild,
LTOPGONonDebugBuild,
NoBuiltinHashesUnixBuild,
NoBuiltinHashesUnixBuildExceptBlake2,
RHEL8NoBuiltinHashesUnixBuild,
RHEL8NoBuiltinHashesUnixBuildExceptBlake2,
WindowsBuild,
SlowWindowsBuild,
Windows64Build,
Expand Down Expand Up @@ -59,60 +63,60 @@ def get_builders(settings):
("AMD64 Debian root", "angelico-debian-amd64", UnixBuild, STABLE),
("AMD64 Debian PGO", "gps-debian-profile-opt", PGOUnixBuild, STABLE),
("AMD64 Ubuntu Shared", "bolen-ubuntu", SharedUnixBuild, STABLE),
("PPC64 Fedora", "edelsohn-fedora-ppc64", UnixBuild, STABLE),
("PPC64 Fedora", "edelsohn-fedora-ppc64", FedoraStableBuild, STABLE),
("s390x SLES", "edelsohn-sles-z", UnixBuild, STABLE),
("s390x Debian", "edelsohn-debian-z", UnixBuild, STABLE),
("s390x Fedora", "edelsohn-fedora-z", UnixBuild, STABLE),
("s390x Fedora", "edelsohn-fedora-z", FedoraStableBuild, STABLE),
("s390x Fedora Refleaks", "edelsohn-fedora-z", UnixRefleakBuild, STABLE),
("s390x Fedora Clang", "edelsohn-fedora-z", ClangUnixBuild, STABLE),
("s390x Fedora Clang Installed", "edelsohn-fedora-z", ClangUnixInstalledBuild, STABLE),
("s390x Fedora LTO", "edelsohn-fedora-z", LTONonDebugUnixBuild, STABLE),
("s390x Fedora LTO + PGO", "edelsohn-fedora-z", LTOPGONonDebugBuild, STABLE),
("s390x RHEL7", "edelsohn-rhel-z", UnixBuild, STABLE),
("s390x RHEL7", "edelsohn-rhel-z", RHEL7Build, STABLE),
("s390x RHEL7 Refleaks", "edelsohn-rhel-z", UnixRefleakBuild, STABLE),
("s390x RHEL7 LTO", "edelsohn-rhel-z", LTONonDebugUnixBuild, STABLE),
("s390x RHEL7 LTO + PGO", "edelsohn-rhel-z", LTOPGONonDebugBuild, STABLE),
("s390x RHEL8", "edelsohn-rhel8-z", UnixBuild, STABLE),
("s390x RHEL8", "edelsohn-rhel8-z", RHEL8Build, STABLE),
("s390x RHEL8 Refleaks", "edelsohn-rhel8-z", UnixRefleakBuild, STABLE),
("s390x RHEL8 LTO", "edelsohn-rhel8-z", LTONonDebugUnixBuild, STABLE),
("s390x RHEL8 LTO + PGO", "edelsohn-rhel8-z", LTOPGONonDebugBuild, STABLE),
("x86 Gentoo Non-Debug with X", "ware-gentoo-x86", SlowNonDebugUnixBuild, STABLE),
("x86 Gentoo Installed with X", "ware-gentoo-x86", SlowUnixInstalledBuild, STABLE),
("AMD64 Fedora Stable", "cstratak-fedora-stable-x86_64", UnixBuild, STABLE),
("AMD64 Fedora Stable", "cstratak-fedora-stable-x86_64", FedoraStableBuild, STABLE),
("AMD64 Fedora Stable Refleaks", "cstratak-fedora-stable-x86_64", UnixRefleakBuild, STABLE),
("AMD64 Fedora Stable Clang", "cstratak-fedora-stable-x86_64", ClangUnixBuild, STABLE),
("AMD64 Fedora Stable Clang Installed", "cstratak-fedora-stable-x86_64", ClangUnixInstalledBuild, STABLE),
("AMD64 Fedora Stable LTO", "cstratak-fedora-stable-x86_64", LTONonDebugUnixBuild, STABLE),
("AMD64 Fedora Stable LTO + PGO", "cstratak-fedora-stable-x86_64", LTOPGONonDebugBuild, STABLE),
("AMD64 RHEL7", "cstratak-RHEL7-x86_64", UnixBuild, STABLE),
("AMD64 RHEL7", "cstratak-RHEL7-x86_64", RHEL7Build, STABLE),
("AMD64 RHEL7 Refleaks", "cstratak-RHEL7-x86_64", UnixRefleakBuild, STABLE),
("AMD64 RHEL7 LTO", "cstratak-RHEL7-x86_64", LTONonDebugUnixBuild, STABLE),
("AMD64 RHEL7 LTO + PGO", "cstratak-RHEL7-x86_64", LTOPGONonDebugBuild, STABLE),
("AMD64 RHEL8", "cstratak-RHEL8-x86_64", UnixBuild, STABLE),
("AMD64 RHEL8", "cstratak-RHEL8-x86_64", RHEL8Build, STABLE),
("AMD64 RHEL8 Refleaks", "cstratak-RHEL8-x86_64", UnixRefleakBuild, STABLE),
("AMD64 RHEL8 LTO", "cstratak-RHEL8-x86_64", LTONonDebugUnixBuild, STABLE),
("AMD64 RHEL8 LTO + PGO", "cstratak-RHEL8-x86_64", LTOPGONonDebugBuild, STABLE),
("AMD64 RHEL8 FIPS Only Blake2 Builtin Hash", "cstratak-RHEL8-fips-x86_64", NoBuiltinHashesUnixBuildExceptBlake2, STABLE),
("AMD64 RHEL8 FIPS Only Blake2 Builtin Hash", "cstratak-RHEL8-fips-x86_64", RHEL8NoBuiltinHashesUnixBuildExceptBlake2, STABLE),
# Linux PPC64le
("PPC64LE Fedora Stable", "cstratak-fedora-stable-ppc64le", UnixBuild, STABLE),
("PPC64LE Fedora Stable", "cstratak-fedora-stable-ppc64le", FedoraStableBuild, STABLE),
("PPC64LE Fedora Stable Refleaks", "cstratak-fedora-stable-ppc64le", UnixRefleakBuild, STABLE),
("PPC64LE Fedora Stable Clang", "cstratak-fedora-stable-ppc64le", ClangUnixBuild, STABLE),
("PPC64LE Fedora Stable Clang Installed", "cstratak-fedora-stable-ppc64le", ClangUnixInstalledBuild, STABLE),
("PPC64LE Fedora Stable LTO", "cstratak-fedora-stable-ppc64le", LTONonDebugUnixBuild, STABLE),
("PPC64LE Fedora Stable LTO + PGO", "cstratak-fedora-stable-ppc64le", LTOPGONonDebugBuild, STABLE),

("PPC64LE RHEL7", "cstratak-RHEL7-ppc64le", UnixBuild, STABLE),
("PPC64LE RHEL7", "cstratak-RHEL7-ppc64le", RHEL7Build, STABLE),
("PPC64LE RHEL7 Refleaks", "cstratak-RHEL7-ppc64le", UnixRefleakBuild, STABLE),
("PPC64LE RHEL7 LTO", "cstratak-RHEL7-ppc64le", LTONonDebugUnixBuild, STABLE),
("PPC64LE RHEL7 LTO + PGO", "cstratak-RHEL7-ppc64le", LTOPGONonDebugBuild, STABLE),

("PPC64LE RHEL8", "cstratak-RHEL8-ppc64le", UnixBuild, STABLE),
("PPC64LE RHEL8", "cstratak-RHEL8-ppc64le", RHEL8Build, STABLE),
("PPC64LE RHEL8 Refleaks", "cstratak-RHEL8-ppc64le", UnixRefleakBuild, STABLE),
("PPC64LE RHEL8 LTO", "cstratak-RHEL8-ppc64le", LTONonDebugUnixBuild, STABLE),
("PPC64LE RHEL8 LTO + PGO", "cstratak-RHEL8-ppc64le", LTOPGONonDebugBuild, STABLE),
# Linux aarch64
("aarch64 Fedora Stable", "cstratak-fedora-stable-aarch64", UnixBuild, STABLE),
("aarch64 RHEL8", "cstratak-RHEL8-aarch64", UnixBuild, STABLE),
("aarch64 Fedora Stable", "cstratak-fedora-stable-aarch64", FedoraStableBuild, STABLE),
("aarch64 RHEL8", "cstratak-RHEL8-aarch64", RHEL8Build, STABLE),
# macOS
("x86-64 macOS", "billenstein-macos", UnixBuild, STABLE),
# Other Unix
Expand All @@ -129,7 +133,7 @@ def get_builders(settings):
# Linux x86 / AMD64
("AMD64 Clang UBSan", "gps-clang-ubsan", ClangUbsanLinuxBuild, UNSTABLE),
("AMD64 Alpine Linux", "ware-alpine", UnixBuild, UNSTABLE),
("AMD64 Fedora Rawhide", "cstratak-fedora-rawhide-x86_64", UnixBuild, UNSTABLE),
("AMD64 Fedora Rawhide", "cstratak-fedora-rawhide-x86_64", FedoraRawhideBuild, UNSTABLE),
("AMD64 Fedora Rawhide Refleaks", "cstratak-fedora-rawhide-x86_64", UnixRefleakBuild, UNSTABLE),
("AMD64 Fedora Rawhide Clang", "cstratak-fedora-rawhide-x86_64", ClangUnixBuild, UNSTABLE),
("AMD64 Fedora Rawhide Clang Installed", "cstratak-fedora-rawhide-x86_64", ClangUnixInstalledBuild, UNSTABLE),
Expand All @@ -141,9 +145,9 @@ def get_builders(settings):
("AMD64 Arch Linux Asan Debug", "pablogsal-arch-x86_64", UnixAsanDebugBuild, STABLE),
("AMD64 Arch Linux TraceRefs", "pablogsal-arch-x86_64", UnixTraceRefsBuild, STABLE),
("AMD64 Arch Linux VintageParser", "pablogsal-arch-x86_64", UnixVintageParserBuild, UNSTABLE),
("AMD64 RHEL8 FIPS No Builtin Hashes", "cstratak-RHEL8-fips-x86_64", NoBuiltinHashesUnixBuild, UNSTABLE),
("AMD64 RHEL8 FIPS No Builtin Hashes", "cstratak-RHEL8-fips-x86_64", RHEL8NoBuiltinHashesUnixBuild, UNSTABLE),
# Linux PPC64le
("PPC64LE Fedora Rawhide", "cstratak-fedora-rawhide-ppc64le", UnixBuild, UNSTABLE),
("PPC64LE Fedora Rawhide", "cstratak-fedora-rawhide-ppc64le", FedoraRawhideBuild, UNSTABLE),
("PPC64LE Fedora Rawhide Refleaks", "cstratak-fedora-rawhide-ppc64le", UnixRefleakBuild, UNSTABLE),
("PPC64LE Fedora Rawhide Clang", "cstratak-fedora-rawhide-ppc64le", ClangUnixBuild, UNSTABLE),
("PPC64LE Fedora Rawhide Clang Installed", "cstratak-fedora-rawhide-ppc64le", ClangUnixInstalledBuild, UNSTABLE),
Expand All @@ -152,7 +156,7 @@ def get_builders(settings):
# Linux aarch32
("ARM Raspbian", "gps-raspbian", UnixBuild, UNSTABLE),
# Linux aarch64
("aarch64 Fedora Rawhide", "cstratak-fedora-rawhide-aarch64", UnixBuild, UNSTABLE),
("aarch64 Fedora Rawhide", "cstratak-fedora-rawhide-aarch64", FedoraRawhideBuild, UNSTABLE),
("aarch64 Fedora Rawhide Refleaks", "cstratak-fedora-rawhide-aarch64", UnixRefleakBuild, UNSTABLE),
("aarch64 Fedora Rawhide Clang", "cstratak-fedora-rawhide-aarch64", ClangUnixBuild, UNSTABLE),
("aarch64 Fedora Rawhide Clang Installed", "cstratak-fedora-rawhide-aarch64", ClangUnixInstalledBuild, UNSTABLE),
Expand All @@ -171,7 +175,7 @@ def get_builders(settings):
("aarch64 RHEL8 LTO + PGO", "cstratak-RHEL8-aarch64", LTOPGONonDebugBuild, UNSTABLE),

# Linux other archs
("s390x Fedora Rawhide", "edelsohn-fedora-rawhide-z", UnixBuild, UNSTABLE),
("s390x Fedora Rawhide", "edelsohn-fedora-rawhide-z", FedoraRawhideBuild, UNSTABLE),
("s390x Fedora Rawhide Refleaks", "edelsohn-fedora-rawhide-z", UnixRefleakBuild, UNSTABLE),
("s390x Fedora Rawhide Clang", "edelsohn-fedora-rawhide-z", ClangUnixBuild, UNSTABLE),
("s390x Fedora Rawhide Clang Installed", "edelsohn-fedora-rawhide-z", ClangUnixInstalledBuild, UNSTABLE),
Expand Down
71 changes: 61 additions & 10 deletions master/custom/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,8 @@ class AIXBuild(UnixBuild):
"--with-pydebug",
"--with-openssl=/opt/aixtools",
]


class AIXBuildWithXLC(UnixBuild):
buildersuffix = ".xlc"
configureFlags = [
Expand All @@ -278,7 +278,7 @@ class PGOUnixBuild(NonDebugUnixBuild):
buildersuffix = ".pgo"
configureFlags = ["--enable-optimizations"]
factory_tags = ["pgo"]

def setup(self, parallel, branch, *args, **kwargs):
# Only Python >3.10 has --with-readline=edit
if branch not in {'3.7', '3.8', '3.9'}:
Expand Down Expand Up @@ -345,24 +345,75 @@ class LTOPGONonDebugBuild(NonDebugUnixBuild):
factory_tags = ["lto", "pgo", "nondebug"]


class NoBuiltinHashesUnixBuild(UnixBuild):
buildersuffix = ".no-builtin-hashes"
class RHEL7Build(UnixBuild):
# Build Python on 64-bit RHEL7.
configureFlags = [
"--with-pydebug",
"--without-builtin-hashlib-hashes"
"--with-platlibdir=lib64",
Copy link

Choose a reason for hiding this comment

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

This only makes sense on 64bit arches.

Copy link
Contributor

Choose a reason for hiding this comment

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

All the Fedora and RHEL buildbots are 64 bits.

"--enable-ipv6",
"--enable-shared",
"--with-computed-gotos=yes",
"--with-dbmliborder=gdbm:ndbm:bdb",
# FIXME: enable these flags
# "--with-system-expat",
# "--with-system-ffi",
"--enable-loadable-sqlite-extensions",
"--with-dtrace",
"--with-lto",
"--with-ssl-default-suites=openssl",
"--without-static-libpython",
"--with-valgrind",
]


class RHEL8Build(RHEL7Build):
# Build Python on 64-bit RHEL8.
# For now, it's the same than RHEL7, but later it may get different
# options.
pass


class FedoraStableBuild(RHEL8Build):
# Build Python on 64-bit Fedora Stable.
#
# Try to be as close as possible to the Fedora specfile used to build
# the RPM package:
# https://src.fedoraproject.org/rpms/python3.10/blob/rawhide/f/python3.10.spec
configureFlags = RHEL8Build.configureFlags + [
# Options specific to Fedora
# FIXME: enable this flag
# "--with-system-libmpdec",
# Don't make a buildbot fail when pip/setuptools is updated in Python,
# whereas the buildbot uses older versions.
# "--with-wheel-pkg-dir=/usr/share/python-wheels/",
]
factory_tags = ["no-builtin-hashes"]


class NoBuiltinHashesUnixBuildExceptBlake2(UnixBuild):
class FedoraRawhideBuild(FedoraStableBuild):
# Build on 64-bit Fedora Rawhide.
# For now, it's the same than Fedora Stable, but later it may get different
# options.
pass


class RHEL8NoBuiltinHashesUnixBuildExceptBlake2(RHEL8Build):
# Build on 64-bit RHEL8 using: --with-builtin-hashlib-hashes=blake2
buildersuffix = ".no-builtin-hashes-except-blake2"
configureFlags = [
"--with-pydebug",
configureFlags = RHEL8Build.configureFlags + [
"--with-builtin-hashlib-hashes=blake2"
]
factory_tags = ["no-builtin-hashes-except-blake2"]


class RHEL8NoBuiltinHashesUnixBuild(RHEL8Build):
# Build on 64-bit RHEL8 using: --without-builtin-hashlib-hashes
buildersuffix = ".no-builtin-hashes"
configureFlags = RHEL8Build.configureFlags + [
"--without-builtin-hashlib-hashes"
]
factory_tags = ["no-builtin-hashes"]


##############################################################################
############################ WINDOWS BUILDS ################################
##############################################################################
Expand Down