1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-04-17 10:37:05 +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 + '"',
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 installEngine(dockerImage, pkg_format) =
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 build/utils.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),
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",
@ -787,6 +795,7 @@ local Pipeline(branch, platform, event, arch='amd64', server='10.6-enterprise')
testPreparation(platform),
// 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',
addFoundationDBForBuild(pkg_format, result),
platformMap(platform, arch),
'sccache --show-stats',
// 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: [
'cd /mdb/' + builddir,
testPreparation(platform),
addFoundationDBForBuild(pkg_format, result),
testRun(platform),
],
},

View File

@ -78,7 +78,7 @@ IF (EXISTS "/etc/SuSE-release")
set(SUSE_VERSION_NUMBER "${CMAKE_MATCH_1}")
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_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,
python3,
procps,
foundationdb-clients (= 7.1.63),
foundationdb-server (= 7.1.63),
${misc:Depends},
${shlibs:Depends}
Breaks: mariadb-columnstore-libs,

View File

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

View File

@ -76,17 +76,20 @@ set(TMPDIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
find_library(FDB_LIB fdb_c)
if (FDB_LIB)
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)
if (NOT FDB_LIB)
MESSAGE_ONCE(FATAL_ERROR "FoundationDB not installed properly, please install packages foundationdb-cliends and foundationdb-server")
return()
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)
target_compile_definitions(unit_tests PUBLIC BOOST_NO_CXX11_SCOPED_ENUMS)
target_link_libraries(unit_tests storagemanager)
@ -158,9 +161,7 @@ install(FILES storagemanager.cnf
COMPONENT columnstore-engine
)
if (FDB_LIB)
install(TARGETS fdbcs
LIBRARY DESTINATION ${ENGINE_LIBDIR}
COMPONENT columnstore-engine
)
endif()