1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-18 21:44:02 +03:00

chore(deps): try to use prebuild packages within CI process

This commit is contained in:
Leonid Fedorov 2024-08-17 22:20:15 +04:00
parent 15514e15b2
commit cc9a1b0491
5 changed files with 42 additions and 17 deletions

View File

@ -237,6 +237,10 @@ local Pipeline(branch, platform, event, arch='amd64', server='10.6-enterprise')
else ' bash -c "apt update --yes && apt install -y ' + debpackages + '"', else ' bash -c "apt update --yes && apt install -y ' + debpackages + '"',
local addFoundationDBForBuild(pkg_format, result) =
"PACKAGES_URL=https://cspkg.s3.amazonaws.com/FoundationDB OS=%s storage/columnstore/columnstore/setup-repo.sh mariadb-columnstore-foundationdb &&" % result +
installRpmDeb(pkg_format, "foundationdb-clients foundationdb-server", "foundationdb-clients foundationdb-server"),
local dockerImage(stepname) = stepname + "$${DRONE_BUILD_NUMBER}", local dockerImage(stepname) = stepname + "$${DRONE_BUILD_NUMBER}",
local installEngine(dockerImage, pkg_format) = local installEngine(dockerImage, pkg_format) =
if (pkg_format == 'deb') then execInnerDocker('bash -c "apt install -y mariadb-plugin-columnstore mariadb-test"', dockerImage) if (pkg_format == 'deb') then execInnerDocker('bash -c "apt install -y mariadb-plugin-columnstore mariadb-test"', dockerImage)
@ -268,6 +272,10 @@ local Pipeline(branch, platform, event, arch='amd64', server='10.6-enterprise')
'docker cp core_dumps/. ' + dockerImage + ':/', 'docker cp core_dumps/. ' + dockerImage + ':/',
'docker cp build/utils.sh ' + dockerImage + ':/', 'docker cp build/utils.sh ' + dockerImage + ':/',
'docker cp setup-repo.sh ' + dockerImage + ':/', 'docker cp setup-repo.sh ' + dockerImage + ':/',
execInnerDocker('/setup-repo.sh mariadb-columnstore-foundationdb https://cspkg.s3.amazonaws.com/FoundationDB', dockerImage),
execInnerDocker(installRpmDeb(pkg_format, "foundationdb-clients foundationdb-server", "foundationdb-clients foundationdb-server"), dockerImage),
if (do_setup) then execInnerDocker('/setup-repo.sh', dockerImage), if (do_setup) then execInnerDocker('/setup-repo.sh', dockerImage),
execInnerDocker(installRpmDeb(pkg_format, execInnerDocker(installRpmDeb(pkg_format,
"cracklib-dicts diffutils elfutils epel-release findutils iproute gawk gcc-c++ gdb hostname lz4 patch perl procps-ng rsyslog sudo tar wget which", "cracklib-dicts diffutils elfutils epel-release findutils iproute gawk gcc-c++ gdb hostname lz4 patch perl procps-ng rsyslog sudo tar wget which",
@ -787,6 +795,7 @@ local Pipeline(branch, platform, event, arch='amd64', server='10.6-enterprise')
testPreparation(platform), testPreparation(platform),
// disable LTO for 22.04 for now // disable LTO for 22.04 for now
if (platform == 'ubuntu:22.04' || platform == 'ubuntu:24.04') then 'apt install -y lto-disabled-list && for i in mariadb-plugin-columnstore mariadb-server mariadb-server-core mariadb mariadb-10.6; do echo "$i any" >> /usr/share/lto-disabled-list/lto-disabled-list; done && grep mariadb /usr/share/lto-disabled-list/lto-disabled-list', if (platform == 'ubuntu:22.04' || platform == 'ubuntu:24.04') then 'apt install -y lto-disabled-list && for i in mariadb-plugin-columnstore mariadb-server mariadb-server-core mariadb mariadb-10.6; do echo "$i any" >> /usr/share/lto-disabled-list/lto-disabled-list; done && grep mariadb /usr/share/lto-disabled-list/lto-disabled-list',
addFoundationDBForBuild(pkg_format, result),
platformMap(platform, arch), platformMap(platform, arch),
'sccache --show-stats', 'sccache --show-stats',
// move engine and cmapi packages to one dir to make a repo // move engine and cmapi packages to one dir to make a repo
@ -807,6 +816,7 @@ local Pipeline(branch, platform, event, arch='amd64', server='10.6-enterprise')
commands: [ commands: [
'cd /mdb/' + builddir, 'cd /mdb/' + builddir,
testPreparation(platform), testPreparation(platform),
addFoundationDBForBuild(pkg_format, result),
testRun(platform), testRun(platform),
], ],
}, },

View File

@ -78,7 +78,7 @@ IF (EXISTS "/etc/SuSE-release")
set(SUSE_VERSION_NUMBER "${CMAKE_MATCH_1}") set(SUSE_VERSION_NUMBER "${CMAKE_MATCH_1}")
ENDIF () ENDIF ()
SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "snappy" "net-tools" "MariaDB-server" "python3" "jemalloc" "procps-ng") SETA(CPACK_RPM_columnstore-engine_PACKAGE_REQUIRES "snappy" "net-tools" "MariaDB-server" "python3" "jemalloc" "procps-ng" "foundationdb-clients" "foundationdb-server")
SET(CPACK_RPM_columnstore-engine_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/build/preInstall_storage_engine.sh) SET(CPACK_RPM_columnstore-engine_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/build/preInstall_storage_engine.sh)
SET(CPACK_RPM_columnstore-engine_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/build/postInstall_storage_engine.sh) SET(CPACK_RPM_columnstore-engine_POST_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/build/postInstall_storage_engine.sh)

2
debian/control vendored
View File

@ -9,6 +9,8 @@ Depends: binutils,
net-tools, net-tools,
python3, python3,
procps, procps,
foundationdb-clients (= 7.1.63),
foundationdb-server (= 7.1.63),
${misc:Depends}, ${misc:Depends},
${shlibs:Depends} ${shlibs:Depends}
Breaks: mariadb-columnstore-libs, Breaks: mariadb-columnstore-libs,

View File

@ -2,6 +2,18 @@
set -ex set -ex
REPOFILE='mariadb-columnstore'
if [ -n "$1" ]; then
REPOFILE=$1
fi
REPO_PACKAGES_URL=${PACKAGES_URL}
if [ -n "$2" ]; then
REPO_PACKAGES_URL=$2
fi
. /etc/os-release . /etc/os-release
ARCH=$(expr "$(uname -m)" : "arm64\|aarch64" > /dev/null && echo "arm64" || echo "amd64") ARCH=$(expr "$(uname -m)" : "arm64\|aarch64" > /dev/null && echo "arm64" || echo "amd64")
@ -10,8 +22,8 @@ case "$ID" in
ubuntu|debian) ubuntu|debian)
apt update -y apt update -y
apt install -y ca-certificates apt install -y ca-certificates
echo "deb [trusted=yes] ${PACKAGES_URL}/${ARCH}/ ${OS}/" > /etc/apt/sources.list.d/repo.list echo "deb [trusted=yes] ${REPO_PACKAGES_URL}/${ARCH}/ ${OS}/" > /etc/apt/sources.list.d/${REPOFILE}.list
cat /etc/apt/sources.list.d/repo.list cat /etc/apt/sources.list.d/${REPOFILE}.list
cat << EOF > /etc/apt/preferences cat << EOF > /etc/apt/preferences
Package: * Package: *
Pin: origin cspkg.s3.amazonaws.com Pin: origin cspkg.s3.amazonaws.com
@ -20,10 +32,10 @@ EOF
apt update -y apt update -y
;; ;;
rocky|centos) rocky|centos)
cat << EOF > /etc/yum.repos.d/repo.repo cat << EOF > /etc/yum.repos.d/${REPOFILE}.repo
[repo] [repo]
name=repo name=${REPOFILE}
baseurl=${PACKAGES_URL}/${ARCH}/${OS} baseurl=${REPO_PACKAGES_URL}/${ARCH}/${OS}
enabled=1 enabled=1
gpgcheck=0 gpgcheck=0
module_hotfixes=1 module_hotfixes=1

View File

@ -76,17 +76,20 @@ set(TMPDIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
find_library(FDB_LIB fdb_c) find_library(FDB_LIB fdb_c)
if (FDB_LIB) if (NOT FDB_LIB)
add_library(fdbcs SHARED fdb_wrapper_cpp/src/fdbcs.cpp) MESSAGE_ONCE(FATAL_ERROR "FoundationDB not installed properly, please install packages foundationdb-cliends and foundationdb-server")
target_link_libraries(fdbcs fdb_c) return()
add_executable(test_fdb_api fdb_wrapper_cpp/test/test_fdb_api.cpp)
add_dependencies(test_fdb_api fdbcs)
target_link_libraries(test_fdb_api fdbcs fdb_c)
add_test(NAME columnstore:test_fdb_api COMMAND test_fdb_api)
endif() endif()
add_library(fdbcs SHARED fdb_wrapper_cpp/src/fdbcs.cpp)
target_link_libraries(fdbcs fdb_c)
add_executable(test_fdb_api fdb_wrapper_cpp/test/test_fdb_api.cpp)
add_dependencies(test_fdb_api fdbcs)
target_link_libraries(test_fdb_api fdbcs fdb_c)
add_test(NAME columnstore:test_fdb_api COMMAND test_fdb_api)
add_executable(unit_tests src/unit_tests.cpp) add_executable(unit_tests src/unit_tests.cpp)
target_compile_definitions(unit_tests PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS) target_compile_definitions(unit_tests PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
target_link_libraries(unit_tests storagemanager) target_link_libraries(unit_tests storagemanager)
@ -158,9 +161,7 @@ install(FILES storagemanager.cnf
COMPONENT columnstore-engine COMPONENT columnstore-engine
) )
if (FDB_LIB)
install(TARGETS fdbcs install(TARGETS fdbcs
LIBRARY DESTINATION ${ENGINE_LIBDIR} LIBRARY DESTINATION ${ENGINE_LIBDIR}
COMPONENT columnstore-engine COMPONENT columnstore-engine
) )
endif()