From d6b04fb51d1f9af6c781dff315f7357a19f14afb Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Fri, 12 Sep 2025 08:51:55 +1000 Subject: [PATCH 1/5] MDBF-1117: Add Fedora 43 --- .github/workflows/build-fedora-based.yml | 4 ++++ ci_build_images/fedora.Dockerfile | 2 +- constants.py | 2 ++ os_info.yaml | 9 ++++++++- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-fedora-based.yml b/.github/workflows/build-fedora-based.yml index e2357d12e..c90ea86ef 100644 --- a/.github/workflows/build-fedora-based.yml +++ b/.github/workflows/build-fedora-based.yml @@ -34,6 +34,10 @@ jobs: platforms: linux/amd64, linux/arm64/v8 nogalera: false + - image: fedora:43 + platforms: linux/amd64, linux/arm64/v8 + nogalera: true + - image: fedora:40 platforms: linux/amd64 tag: fedora40-valgrind diff --git a/ci_build_images/fedora.Dockerfile b/ci_build_images/fedora.Dockerfile index 5ded675b8..2020a359f 100644 --- a/ci_build_images/fedora.Dockerfile +++ b/ci_build_images/fedora.Dockerfile @@ -61,7 +61,7 @@ RUN echo "fastestmirror=true" >> /etc/dnf/dnf.conf \ unixODBC-devel \ wget \ which \ - && if [ "$VERSION_ID" = "42" ]; then \ + && if [ "$VERSION_ID" != "41" ] && [ "$VERSION_ID" != "40" ]; then \ dnf -y install java-latest-openjdk-devel java-latest-openjdk; \ else \ dnf -y install java-1.8.0-openjdk-devel java-1.8.0-openjdk; \ diff --git a/constants.py b/constants.py index cc6bcfcd6..d3c0a5cdd 100644 --- a/constants.py +++ b/constants.py @@ -225,6 +225,8 @@ "s390x-sles-1507", "aarch64-ubuntu-2510", "amd64-ubuntu-2510", + "aarch64-fedora-43", + "amd64-fedora-43", ] SUPPORTED_PLATFORMS["12.0"] = SUPPORTED_PLATFORMS["11.8"].copy() SUPPORTED_PLATFORMS["12.1"] = SUPPORTED_PLATFORMS["12.0"].copy() diff --git a/os_info.yaml b/os_info.yaml index f1cf65f6a..5d4a4a53b 100644 --- a/os_info.yaml +++ b/os_info.yaml @@ -99,7 +99,14 @@ fedora-42: image_tag: fedora42 tags: - release_packages - version_name: 42 + arch: + - amd64 + - aarch64 + type: rpm +fedora-43: + image_tag: fedora43 + tags: + - release_packages arch: - amd64 - aarch64 From 50b2c01dc8e9615f83925f2d59a2946f720abaf2 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Sat, 13 Sep 2025 11:01:10 +1000 Subject: [PATCH 2/5] Add Fedora 43 SRPM That doesn't include PLATFORM_ID in its /etc/os-release any more. Put RHEL in the first case and fall through. Then just need to test centos as an if condition. --- .github/workflows/build-srpm.yml | 5 +++++ ci_build_images/srpm.Dockerfile | 23 +++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-srpm.yml b/.github/workflows/build-srpm.yml index 58ef15b25..a80e181a6 100644 --- a/.github/workflows/build-srpm.yml +++ b/.github/workflows/build-srpm.yml @@ -36,6 +36,11 @@ jobs: tag: fedora42-srpm platforms: linux/amd64, linux/arm64/v8 + - dockerfile: srpm.Dockerfile + image: fedora:43 + tag: fedora43-srpm + platforms: linux/amd64, linux/arm64/v8 + - dockerfile: srpm.Dockerfile image: registry.access.redhat.com/ubi7 tag: rhel7-srpm diff --git a/ci_build_images/srpm.Dockerfile b/ci_build_images/srpm.Dockerfile index 8d67df629..5f4457b79 100644 --- a/ci_build_images/srpm.Dockerfile +++ b/ci_build_images/srpm.Dockerfile @@ -10,20 +10,19 @@ LABEL maintainer="MariaDB Buildbot maintainers" # REPOSITORY AND RPM TOOLS SETUP # hadolint ignore=SC2086 RUN source /etc/os-release \ - && case $PLATFORM_ID in \ - "platform:el8"|"platform:el9"|"platform:el10"|"platform:f41"|"platform:f42") \ + && case "$ID:$VERSION_ID" in \ + rhel:8*|rhel:9*|rhel:1*) \ + # crb in rhel is enabled with a valid subscription, will be handled by running the container in an RH host + rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-${PLATFORM_ID##*:el}.noarch.rpm; \ + # fall through + ;& \ + centos:*|fedora:*) \ dnf -y upgrade \ && dnf -y install rpm-build yum-utils wget which perl-generators sudo gcc-c++; \ - case $ID in \ - "rhel") \ - rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-${PLATFORM_ID##*:el}.noarch.rpm; \ - # crb in rhel is enabled with a valid subscription, will be handled by running the container in an RH host - ;; \ - "centos") \ - dnf -y install epel-release \ - && dnf config-manager --set-enabled crb; \ - ;; \ - esac; \ + if [ $ID = centos ]; then \ + dnf -y install epel-release \ + && dnf config-manager --set-enabled crb; \ + fi; \ dnf install -y ccache \ && dnf clean all; \ ;; \ From 7c5436d7ed53585ea113489f34961adb80f48472 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Sat, 13 Sep 2025 11:04:07 +1000 Subject: [PATCH 3/5] MDBF-1118: OpenSUSE 16.0 SRPM Addition globs in srpm.Dockerfile to be more inclusive opensuse 16.0 doesn't have a global /etc/sudoders file. --- .github/workflows/build-srpm.yml | 5 ++++ ci_build_images/srpm.Dockerfile | 51 ++++++++++++++------------------ 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/.github/workflows/build-srpm.yml b/.github/workflows/build-srpm.yml index a80e181a6..a0d1c95b3 100644 --- a/.github/workflows/build-srpm.yml +++ b/.github/workflows/build-srpm.yml @@ -76,6 +76,11 @@ jobs: tag: opensuse1506-srpm platforms: linux/amd64 + - dockerfile: srpm.Dockerfile + image: opensuse/leap:16.0 + tag: opensuse1600-srpm + platforms: linux/amd64 + - dockerfile: srpm.Dockerfile image: registry.suse.com/bci/bci-base:15.6 tag: sles1506-srpm diff --git a/ci_build_images/srpm.Dockerfile b/ci_build_images/srpm.Dockerfile index 5f4457b79..a9f276788 100644 --- a/ci_build_images/srpm.Dockerfile +++ b/ci_build_images/srpm.Dockerfile @@ -26,33 +26,27 @@ RUN source /etc/os-release \ dnf install -y ccache \ && dnf clean all; \ ;; \ - *) \ - # No $PLATFORM_ID in SUSE nor RH7 - case $BASE_IMAGE in \ - *leap:15.6|*bci-base:15.6) \ - zypper -n update \ - && zypper -n install rpm-build wget which sudo gcc-c++ ccache \ - && zypper clean; \ - ;; \ - # Only AMD64 until EOL - *ubi7) \ - yum -y upgrade \ - && rpm -ivh https://dl.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm \ - && yum -y install rpm-build \ - yum-utils \ - wget \ - which \ - perl-generators \ - sudo \ - gcc-c++ \ - ccache \ - && yum clean all; \ - ;; \ - *) \ - echo "Unsupported base image: $BASE_IMAGE"; \ - exit 1; \ + sles:*|opensuse-leap:*) \ + zypper -n update \ + && zypper -n install rpm-build wget which sudo gcc-c++ ccache \ + && zypper clean; \ + ;; \ + rhel:7*) \ + yum -y upgrade \ + && rpm -ivh https://dl.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm \ + && yum -y install rpm-build \ + yum-utils \ + wget \ + which \ + perl-generators \ + sudo \ + gcc-c++ \ + ccache \ + && yum clean all; \ ;; \ - esac; \ + *) \ + echo "Unsupported base image: $BASE_IMAGE"; \ + exit 1; \ ;; \ esac @@ -75,8 +69,9 @@ RUN if getent passwd 1000; then \ fi \ # rpm build-deps require sudo # on some platforms there is a default that ALL should ask for password when executing sudo << ALL ALL=(ALL) ALL >> - && sed -i '/^ALL/d' /etc/sudoers \ - && sed -i '/^Defaults[[:space:]]targetpw/d' /etc/sudoers \ + && if [ -f /etc/sudoers ]; then \ + sed -i -e '/^ALL/d' -e '/^Defaults[[:space:]]targetpw/d' /etc/sudoers; \ + fi \ && echo 'buildbot ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers; From c05cb0b585e6888c388ba1215929cc3635f3eb53 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Fri, 12 Sep 2025 09:05:28 +1000 Subject: [PATCH 4/5] MDBF-1118: Add OpenSUSE 16.0 --- .../workflows/build-opensuse.pip-based.yml | 5 ++++ ci_build_images/opensuse.Dockerfile | 24 ++++++++++--------- constants.py | 1 + os_info.yaml | 7 ++++++ 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-opensuse.pip-based.yml b/.github/workflows/build-opensuse.pip-based.yml index 9a239abc0..8f2e0e096 100644 --- a/.github/workflows/build-opensuse.pip-based.yml +++ b/.github/workflows/build-opensuse.pip-based.yml @@ -35,6 +35,11 @@ jobs: tag: opensuse1506 nogalera: false + - image: opensuse/leap:16.0 + platforms: linux/amd64 + tag: opensuse1600 + nogalera: true + uses: ./.github/workflows/bbw_build_container_template.yml with: dockerfile: opensuse.Dockerfile pip.Dockerfile diff --git a/ci_build_images/opensuse.Dockerfile b/ci_build_images/opensuse.Dockerfile index 9ba01da27..1fcebb164 100644 --- a/ci_build_images/opensuse.Dockerfile +++ b/ci_build_images/opensuse.Dockerfile @@ -16,6 +16,8 @@ RUN zypper update -y \ && VERSION_ID=${VERSION_ID%.*}0${VERSION_ID#*.} \ && ARCH=$(rpm --query --queryformat='%{ARCH}' zypper) \ && if [ "$ARCH" = x86_64 ]; then ARCH=amd64 ; fi \ + && if [ "$VERSION" = 16.0 ]; then JAVA=21; BOOST=1_86_0 ; PYTHON=313 ; \ + else JAVA=17; BOOST=1_75_0; PYTHON=311; fi \ && zypper addrepo https://ci.mariadb.org/galera/mariadb-4.x-latest-gal-"${ARCH}-${ID%%-leap}-${VERSION_ID}".repo \ && zypper install -y \ bzip2 \ @@ -37,14 +39,14 @@ RUN zypper update -y \ judy-devel \ krb5-devel \ libaio-devel \ - libboost_atomic1_75_0-devel \ - libboost_chrono1_75_0-devel \ - libboost_date_time1_75_0-devel \ - libboost_filesystem1_75_0-devel \ - libboost_program_options1_75_0-devel \ - libboost_regex1_75_0-devel \ - libboost_system1_75_0-devel \ - libboost_thread1_75_0-devel \ + libboost_atomic"${BOOST}"-devel \ + libboost_chrono"${BOOST}"-devel \ + libboost_date_time"${BOOST}"-devel \ + libboost_filesystem"${BOOST}"-devel \ + libboost_program_options"${BOOST}"-devel \ + libboost_regex"${BOOST}"-devel \ + libboost_system"${BOOST}"-devel \ + libboost_thread"${BOOST}"-devel \ libbz2-devel \ libcurl-devel \ libedit-devel \ @@ -56,13 +58,13 @@ RUN zypper update -y \ libxml2-devel \ libzstd-devel \ lzo-devel \ - java-11-openjdk-devel \ + java-"${JAVA}"-openjdk-devel \ pam-devel \ pcre2-devel \ perl-Net-SSLeay \ policycoreutils \ - python311-devel \ - python311-pip \ + python"${PYTHON}"-devel \ + python"${PYTHON}"-pip \ rpm-build \ rpmlint \ snappy-devel \ diff --git a/constants.py b/constants.py index d3c0a5cdd..b15c20b10 100644 --- a/constants.py +++ b/constants.py @@ -213,6 +213,7 @@ SUPPORTED_PLATFORMS["11.7"] += ["amd64-almalinux-8-bintar"] SUPPORTED_PLATFORMS["11.8"] = SUPPORTED_PLATFORMS["11.7"].copy() SUPPORTED_PLATFORMS["11.8"] += [ + "amd64-opensuse-1600", "aarch64-debian-sid", "amd64-debian-sid", "ppc64le-debian-sid", diff --git a/os_info.yaml b/os_info.yaml index 5d4a4a53b..525f45f06 100644 --- a/os_info.yaml +++ b/os_info.yaml @@ -126,6 +126,13 @@ opensuse-1506: arch: - amd64 type: rpm +opensuse-1600: + image_tag: opensuse1600 + tags: + - release_packages + arch: + - amd64 + type: rpm rhel-7: image_tag: rhel7 tags: From b1b675437a7923dc98ddfa996c9c9c1bfc547b88 Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Fri, 19 Sep 2025 07:54:44 +1000 Subject: [PATCH 5/5] MDBF-1118: Disable OpenSUSE 16.0 install/upgrade until VM images available --- constants.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/constants.py b/constants.py index b15c20b10..5de74c8be 100644 --- a/constants.py +++ b/constants.py @@ -296,6 +296,9 @@ if not ("install_only" in OS_INFO[os_i] and OS_INFO[os_i]["install_only"]): ALL_PLATFORMS.add(arch) BUILDERS_AUTOBAKE.append(builder_name_autobake) + # No VM install for opensuse16.0.0 yet + if os_i == "opensuse-1600": + continue # Currently there are no VMs for x86 and s390x if arch not in ["s390x", "x86"]: BUILDERS_INSTALL.append(builder_name_autobake + "-install")