mirror of
https://github.com/XRPLF/rippled.git
synced 2026-02-19 05:12:33 +00:00
386 lines
10 KiB
Python
Executable File
386 lines
10 KiB
Python
Executable File
from helpers.defs import *
|
|
from helpers.enums import *
|
|
|
|
# The default CI image SHAs to use, which can be specified per distro group and
|
|
# can be overridden for individual distros, which is useful when debugging using
|
|
# a locally built CI image. See https://github.com/XRPLF/ci for the images.
|
|
DEBIAN_SHA = "sha-ca4517d"
|
|
RHEL_SHA = "sha-ca4517d"
|
|
UBUNTU_SHA = "sha-84afd81"
|
|
|
|
# We only build a selection of configurations for the various triggers to reduce
|
|
# pipeline runtime. Across all three operating systems we aim to cover all GCC
|
|
# and Clang versions, while not duplicating configurations too much. See also
|
|
# the README for more details.
|
|
|
|
# The Debian distros to build configurations for.
|
|
#
|
|
# We have the following distros available:
|
|
# - Debian Bullseye: GCC 12-15
|
|
# - Debian Bookworm: GCC 13-15, Clang 16-20
|
|
# - Debian Trixie: GCC 14-15, Clang 20-21
|
|
DEBIAN_DISTROS = [
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="bullseye",
|
|
compiler_name="gcc",
|
|
compiler_version="14",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
build_modes=[BuildMode.UNITY_OFF],
|
|
build_types=[BuildType.DEBUG],
|
|
publish_option=PublishOption.PACKAGE_ONLY,
|
|
triggers=[Trigger.COMMIT, Trigger.LABEL],
|
|
),
|
|
Spec(
|
|
build_modes=[BuildMode.UNITY_OFF],
|
|
build_types=[BuildType.PUBLISH],
|
|
publish_option=PublishOption.PACKAGE_AND_IMAGE,
|
|
triggers=[Trigger.MERGE],
|
|
),
|
|
Spec(
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="bullseye",
|
|
compiler_name="gcc",
|
|
compiler_version="15",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
build_modes=[BuildMode.UNITY_ON],
|
|
build_option=BuildOption.COVERAGE,
|
|
build_types=[BuildType.DEBUG],
|
|
triggers=[Trigger.COMMIT, Trigger.MERGE],
|
|
),
|
|
Spec(
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="bookworm",
|
|
compiler_name="gcc",
|
|
compiler_version="15",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="bookworm",
|
|
compiler_name="clang",
|
|
compiler_version="16",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
build_modes=[BuildMode.UNITY_OFF],
|
|
build_option=BuildOption.VOIDSTAR,
|
|
build_types=[BuildType.DEBUG],
|
|
publish_option=PublishOption.IMAGE_ONLY,
|
|
triggers=[Trigger.COMMIT],
|
|
),
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
build_modes=[BuildMode.UNITY_ON],
|
|
build_types=[BuildType.RELEASE],
|
|
triggers=[Trigger.MERGE],
|
|
),
|
|
Spec(
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="bookworm",
|
|
compiler_name="clang",
|
|
compiler_version="17",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="bookworm",
|
|
compiler_name="clang",
|
|
compiler_version="18",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="bookworm",
|
|
compiler_name="clang",
|
|
compiler_version="19",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="trixie",
|
|
compiler_name="gcc",
|
|
compiler_version="15",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="debian",
|
|
os_version="trixie",
|
|
compiler_name="clang",
|
|
compiler_version="21",
|
|
image_sha=DEBIAN_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
build_modes=[BuildMode.UNITY_OFF],
|
|
build_types=[BuildType.DEBUG],
|
|
triggers=[Trigger.MERGE],
|
|
),
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
]
|
|
|
|
# The RHEL distros to build configurations for.
|
|
#
|
|
# We have the following distros available:
|
|
# - RHEL 8: GCC 14, Clang "any"
|
|
# - RHEL 9: GCC 12-14, Clang "any"
|
|
# - RHEL 10: GCC 14, Clang "any"
|
|
RHEL_DISTROS = [
|
|
Distro(
|
|
os_name="rhel",
|
|
os_version="8",
|
|
compiler_name="gcc",
|
|
compiler_version="14",
|
|
image_sha=RHEL_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="rhel",
|
|
os_version="8",
|
|
compiler_name="clang",
|
|
compiler_version="any",
|
|
image_sha=RHEL_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="rhel",
|
|
os_version="9",
|
|
compiler_name="gcc",
|
|
compiler_version="12",
|
|
image_sha=RHEL_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
build_modes=[BuildMode.UNITY_ON],
|
|
build_types=[BuildType.DEBUG],
|
|
triggers=[Trigger.COMMIT],
|
|
),
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
build_modes=[BuildMode.UNITY_ON],
|
|
build_types=[BuildType.RELEASE],
|
|
triggers=[Trigger.MERGE],
|
|
),
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="rhel",
|
|
os_version="9",
|
|
compiler_name="gcc",
|
|
compiler_version="13",
|
|
image_sha=RHEL_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="rhel",
|
|
os_version="10",
|
|
compiler_name="clang",
|
|
compiler_version="any",
|
|
image_sha=RHEL_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
]
|
|
|
|
# The Ubuntu distros to build configurations for.
|
|
#
|
|
# We have the following distros available:
|
|
# - Ubuntu Jammy (22.04): GCC 12
|
|
# - Ubuntu Noble (24.04): GCC 13-14, Clang 16-20
|
|
UBUNTU_DISTROS = [
|
|
Distro(
|
|
os_name="ubuntu",
|
|
os_version="jammy",
|
|
compiler_name="gcc",
|
|
compiler_version="12",
|
|
image_sha=UBUNTU_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="ubuntu",
|
|
os_version="noble",
|
|
compiler_name="gcc",
|
|
compiler_version="13",
|
|
image_sha=UBUNTU_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
build_modes=[BuildMode.UNITY_ON],
|
|
build_types=[BuildType.RELEASE],
|
|
triggers=[Trigger.MERGE],
|
|
),
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="ubuntu",
|
|
os_version="noble",
|
|
compiler_name="gcc",
|
|
compiler_version="14",
|
|
image_sha=UBUNTU_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="ubuntu",
|
|
os_version="noble",
|
|
compiler_name="clang",
|
|
compiler_version="17",
|
|
image_sha=UBUNTU_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
build_modes=[BuildMode.UNITY_OFF],
|
|
build_types=[BuildType.DEBUG],
|
|
triggers=[Trigger.MERGE],
|
|
),
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="ubuntu",
|
|
os_version="noble",
|
|
compiler_name="clang",
|
|
compiler_version="18",
|
|
image_sha=UBUNTU_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="ubuntu",
|
|
os_version="noble",
|
|
compiler_name="clang",
|
|
compiler_version="19",
|
|
image_sha=UBUNTU_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_ARM64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
Distro(
|
|
os_name="ubuntu",
|
|
os_version="noble",
|
|
compiler_name="clang",
|
|
compiler_version="20",
|
|
image_sha=UBUNTU_SHA,
|
|
specs=[
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
build_modes=[BuildMode.UNITY_ON],
|
|
build_types=[BuildType.DEBUG],
|
|
triggers=[Trigger.COMMIT],
|
|
),
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
build_modes=[BuildMode.UNITY_OFF],
|
|
build_types=[BuildType.RELEASE],
|
|
triggers=[Trigger.MERGE],
|
|
),
|
|
Spec(
|
|
archs=[Arch.LINUX_AMD64],
|
|
triggers=[Trigger.SCHEDULE],
|
|
),
|
|
],
|
|
),
|
|
]
|