diff --git a/.github/workflows/bbw_build_container.yml b/.github/workflows/bbw_build_container.yml index a3489052..b94de945 100644 --- a/.github/workflows/bbw_build_container.yml +++ b/.github/workflows/bbw_build_container.yml @@ -95,6 +95,11 @@ jobs: - dockerfile: fedora.Dockerfile image: fedora:40 platforms: linux/amd64, linux/arm64/v8 + - dockerfile: fedora.Dockerfile + image: fedora:40 + tag: fedora40-valgrind + platforms: linux/amd64 + install_valigrind: "true" - dockerfile: centos7.Dockerfile pip.Dockerfile image: centos:7 platforms: linux/amd64 @@ -179,7 +184,8 @@ jobs: -f $GITHUB_WORKSPACE/Dockerfile \ --build-arg BASE_IMAGE=${{ matrix.image }} \ --build-arg CLANG_VERSION=${{ matrix.clang_version }} \ - --build-arg MARIADB_BRANCH=${{ matrix.branch }} + --build-arg MARIADB_BRANCH=${{ matrix.branch }} \ + --build-arg INSTALL_VALGRIND="${{ matrix.install_valigrind }}" done podman images - name: Push images to local registry diff --git a/ci_build_images/fedora.Dockerfile b/ci_build_images/fedora.Dockerfile index a3b1617d..a5c6e8ac 100644 --- a/ci_build_images/fedora.Dockerfile +++ b/ci_build_images/fedora.Dockerfile @@ -6,6 +6,7 @@ ARG BASE_IMAGE FROM "$BASE_IMAGE" LABEL maintainer="MariaDB Buildbot maintainers" +ARG INSTALL_VALGRIND # Install updates and required packages RUN echo "fastestmirror=true" >> /etc/dnf/dnf.conf \ @@ -61,6 +62,7 @@ RUN echo "fastestmirror=true" >> /etc/dnf/dnf.conf \ which \ && if [ "$VERSION_ID" = 39 ]; then curl -s 'https://gitlab.kitware.com/cmake/cmake/-/raw/v3.28.5/Modules/Internal/CPack/CPackRPM.cmake?ref_type=tags' -o /usr/share/cmake/Modules/Internal/CPack/CPackRPM.cmake ; fi \ && if [ "$(uname -m)" = "x86_64" ]; then dnf -y install libpmem-devel; fi \ + && if [ "$INSTALL_VALGRIND" = "true" ]; then dnf -y install valgrind; fi \ && dnf clean all ENV WSREP_PROVIDER=/usr/lib64/galera-4/libgalera_smm.so diff --git a/constants.py b/constants.py index 6f38dc6a..dc03f417 100644 --- a/constants.py +++ b/constants.py @@ -93,7 +93,7 @@ "amd64-ubuntu-2004-debug", "amd64-ubuntu-2004-fulltest", "amd64-ubuntu-2204-debug-ps", - "amd64-ubuntu-2204-valgrind", + "amd64-fedora-40-valgrind", "amd64-ubuntu-2204-icc", "amd64-ubuntu-2404-clang18-asan", "amd64-windows", diff --git a/master-docker-nonstandard-2/master.cfg b/master-docker-nonstandard-2/master.cfg index 96310e55..9db76f50 100644 --- a/master-docker-nonstandard-2/master.cfg +++ b/master-docker-nonstandard-2/master.cfg @@ -402,106 +402,6 @@ f_msan_build.addStep( ) ) -## f_valgrind_build -f_valgrind_build = util.BuildFactory() -f_valgrind_build.addStep(printEnv()) -f_valgrind_build.addStep( - steps.SetProperty( - property="dockerfile", - value=util.Interpolate("%(kw:url)s", url=dockerfile), - description="dockerfile", - ) -) -f_valgrind_build.addStep( - steps.ShellCommand( - name="create html log file", - command=[ - "bash", - "-c", - util.Interpolate( - getHTMLLogString(), - jobs=util.Property("jobs", default="$(getconf _NPROCESSORS_ONLN)"), - ), - ], - ) -) -f_valgrind_build.addStep(getSourceTarball()) -# build steps -f_valgrind_build.addStep( - steps.Compile( - command=[ - "sh", - "-c", - util.Interpolate( - "cmake . -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DENABLE_ASSEMBLER=1 -DWITH_EXTRA_CHARSETS=complex -DENABLE_THREAD_SAFE_CLIENT=1 -DWITH_BIG_TABLES=1 -DWITH_PLUGIN_ARIA=1 -DWITH_ARIA_TMP_TABLES=1 -DWITH_JEMALLOC=NO -DCMAKE_BUILD_TYPE=Debug -DSECURITY_HARDENED=OFF -DWITH_VALGRIND=1 -DHAVE_LIBAIO_H=0 -DCMAKE_DISABLE_FIND_PACKAGE_URING=1 -DCMAKE_DISABLE_FIND_PACKAGE_LIBAIO=1 -DWITH_SSL=bundled -DWITH_MAX=AUTO -DWITH_EMBEDDED_SERVER=1 -DWITH_LIBEVENT=bundled -DPLUGIN_PLUGIN_FILE_KEY_MANAGEMENT=NO -DPLUGIN_TEST_SQL_DISCOVERY=DYNAMIC -DPLUGIN_TOKUDB=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_AUTH_GSSAPI=NO -DENABLE_LOCAL_INFILE=1 -DMYSQL_SERVER_SUFFIX=-valgrind-max -DWITH_DBUG_TRACE=OFF && make -j%(kw:jobs)s", - jobs=util.Property("jobs", default="$(getconf _NPROCESSORS_ONLN)"), - ), - ], - haltOnFailure="true", - ) -) -f_valgrind_build.addStep( - steps.MTR( - logfiles={"mysqld*": "./buildbot/mysql_logs.html"}, - test_type="valgrind", - command=[ - "sh", - "-c", - util.Interpolate( - 'cd mysql-test && perl mysql-test-run.pl --valgrind="--leak-check=summary --gen-suppressions=yes --num-callers=10" --skip-test="encryption\.*|^perfschema\.short_option_1$" --mysqld="--loose-innodb-purge-threads=1" --force --retry=0 --max-save-core=2 --max-save-datadir=10 --max-test-fail=20 --parallel=$(expr %(kw:jobs)s \* 2)', - jobs=util.Property("jobs", default="$(getconf _NPROCESSORS_ONLN)"), - ), - ], - timeout=950, - haltOnFailure="true", - parallel=mtrJobsMultiplier, - dbpool=mtrDbPool, - autoCreateTables=True, - env=MTR_ENV, - ) -) -f_valgrind_build.addStep( - steps.ShellCommand( - name="move mysqld log files", - alwaysRun=True, - command=[ - "bash", - "-c", - util.Interpolate( - moveMTRLogs(), - jobs=util.Property("jobs", default="$(getconf _NPROCESSORS_ONLN)"), - ), - ], - ) -) -f_valgrind_build.addStep( - steps.ShellCommand( - name="create var archive", - alwaysRun=True, - command=["bash", "-c", util.Interpolate(createVar())], - doStepIf=hasFailed, - ) -) -f_valgrind_build.addStep( - steps.DirectoryUpload( - name="save mysqld log files", - compress="bz2", - alwaysRun=True, - workersrc="./buildbot/logs/", - masterdest=util.Interpolate( - "/srv/buildbot/packages/" - + "%(prop:tarbuildnum)s" - + "/logs/" - + "%(prop:buildername)s" - ), - ) -) -f_valgrind_build.addStep( - steps.ShellCommand( - name="cleanup", command="rm -r * .* 2> /dev/null || true", alwaysRun=True - ) -) - ## f_big_test f_big_test = util.BuildFactory() f_big_test.addStep(printEnv()) diff --git a/master-docker-nonstandard/master.cfg b/master-docker-nonstandard/master.cfg index 5a1ef7fb..2483eb0f 100644 --- a/master-docker-nonstandard/master.cfg +++ b/master-docker-nonstandard/master.cfg @@ -303,24 +303,24 @@ for w_name in ["ns-x64-bbw", "apexis-bbw"]: addWorker( "amd-bbw", 1, - "-valgrind-ubuntu-2204", - "quay.io/mariadb-foundation/bb-worker:ubuntu22.04-valgrind", + "-valgrind-fedora-40", + "quay.io/mariadb-foundation/bb-worker:fedora40-valgrind", jobs=20, save_packages=False, ) addWorker( "amd-bbw", 2, - "-valgrind-ubuntu-2204", - "quay.io/mariadb-foundation/bb-worker:ubuntu22.04-valgrind", + "-valgrind-fedora-40", + "quay.io/mariadb-foundation/bb-worker:fedora40-valgrind", jobs=20, save_packages=False, ) addWorker( "hz-bbw", 6, - "-valgrind-ubuntu-2204", - "quay.io/mariadb-foundation/bb-worker:ubuntu22.04-valgrind", + "-valgrind-fedora-40", + "quay.io/mariadb-foundation/bb-worker:fedora40-valgrind", jobs=20, save_packages=False, ) @@ -1659,8 +1659,8 @@ c["builders"].append( c["builders"].append( util.BuilderConfig( - name="amd64-ubuntu-2204-valgrind", - workernames=workers["x64-bbw-docker-valgrind-ubuntu-2204"], + name="amd64-fedora-40-valgrind", + workernames=workers["x64-bbw-docker-valgrind-fedora-40"], tags=["Ubuntu", "quick", "gcc", "valgrind"], collapseRequests=True, nextBuild=nextBuild,