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-0525eae" RHEL_SHA = "sha-0525eae" UBUNTU_SHA = "sha-84afd81" DEBIAN_DISTROS = [ Distro( os_name="debian", os_version="bullseye", compiler_name="gcc", compiler_version="12", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="bullseye", compiler_name="gcc", compiler_version="13", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), 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="13", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="bookworm", compiler_name="gcc", compiler_version="14", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="bookworm", compiler_name="gcc", compiler_version="15", image_sha=DEBIAN_SHA, specs=[ Spec( 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( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="bookworm", compiler_name="clang", compiler_version="18", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="bookworm", compiler_name="clang", compiler_version="19", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="bookworm", compiler_name="clang", compiler_version="20", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="trixie", compiler_name="gcc", compiler_version="14", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="trixie", compiler_name="gcc", compiler_version="15", image_sha=DEBIAN_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="debian", os_version="trixie", compiler_name="clang", compiler_version="20", image_sha=DEBIAN_SHA, specs=[ Spec( archs=[Arch.LINUX_AMD64], 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 Debian distros to build for. # The RHEL distros to build for. 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="9", 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="9", 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="10", 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="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 for. UBUNTU_DISTROS = [ Distro( os_name="ubuntu", os_version="jammy", compiler_name="gcc", compiler_version="12", image_sha=UBUNTU_SHA, specs=[ Spec( 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( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="ubuntu", os_version="noble", compiler_name="gcc", compiler_version="14", image_sha=UBUNTU_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="ubuntu", os_version="noble", compiler_name="clang", compiler_version="16", image_sha=UBUNTU_SHA, specs=[ Spec( 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( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="ubuntu", os_version="noble", compiler_name="clang", compiler_version="18", image_sha=UBUNTU_SHA, specs=[ Spec( triggers=[Trigger.SCHEDULE], ), ], ), Distro( os_name="ubuntu", os_version="noble", compiler_name="clang", compiler_version="19", image_sha=UBUNTU_SHA, specs=[ Spec( 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_ARM64], 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( triggers=[Trigger.SCHEDULE], ), ], ), ]