🐎 ci(stage upgrade): split to 4 stage
This commit is contained in:
134
.gitlab-ci.yml
134
.gitlab-ci.yml
@@ -2,21 +2,70 @@ variables:
|
||||
GIT_STRATEGY: "clone"
|
||||
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
|
||||
INSTALL_PREFIX: "/opt/tsg/stellar"
|
||||
INSTALL_DEPENDENCY_LIBRARY: mrzcpd-corei7 framework_env libfieldstat4-devel
|
||||
TESTING_VERSION_BUILD: 0
|
||||
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
|
||||
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rocky8-for-stellar"
|
||||
|
||||
stages:
|
||||
- cppcheck
|
||||
- build
|
||||
- test
|
||||
- upload
|
||||
|
||||
.build_by_travis_for_centos8:
|
||||
image: $BUILD_IMAGE_CENTOS8
|
||||
before_script:
|
||||
.everything_before_script: &everything_before_script
|
||||
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
|
||||
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
||||
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
||||
- yum makecache --disablerepo="*" --enablerepo="framework,platform"
|
||||
- yum install -y $INSTALL_DEPENDENCY_LIBRARY
|
||||
- source /etc/profile.d/mrzcpd.sh
|
||||
- source /etc/profile.d/framework.sh
|
||||
- chmod +x ./ci/travis.sh
|
||||
|
||||
###############################################################################
|
||||
# cppcheck
|
||||
###############################################################################
|
||||
.cppcheck_script:
|
||||
variables:
|
||||
BUILD_TYPE: Debug
|
||||
stage: cppcheck
|
||||
script:
|
||||
- mkdir build; cd build; cmake3 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
|
||||
- >
|
||||
cppcheck --project=compile_commands.json
|
||||
--enable=all
|
||||
--std=c++11
|
||||
--error-exitcode=1
|
||||
--suppress=unusedFunction
|
||||
--suppress=missingInclude
|
||||
--suppress=uselessAssignmentPtrArg
|
||||
--suppress=unmatchedSuppression
|
||||
--suppress=variableScope
|
||||
--suppress=unreadVariable
|
||||
--suppress=cstyleCast
|
||||
--suppress=memleakOnRealloc
|
||||
--suppress=constParameter
|
||||
--suppress=uselessAssignmentArg
|
||||
--suppress=uninitvar
|
||||
--suppress=unusedStructMember
|
||||
--suppress=funcArgOrderDifferent
|
||||
--suppress=unreachableCode
|
||||
--suppress=internalAstError
|
||||
tags:
|
||||
- share
|
||||
|
||||
run_cppcheck_for_centos8:
|
||||
extends: .cppcheck_script
|
||||
image: $BUILD_IMAGE_CENTOS8
|
||||
|
||||
###############################################################################
|
||||
# build
|
||||
###############################################################################
|
||||
|
||||
.build_by_travis_for_centos8:
|
||||
image: $BUILD_IMAGE_CENTOS8
|
||||
before_script: *everything_before_script
|
||||
script:
|
||||
- yum makecache
|
||||
- ./ci/travis.sh
|
||||
tags:
|
||||
- share
|
||||
@@ -36,6 +85,10 @@ branch_build_release_for_centos8:
|
||||
variables:
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
extends: .build_by_travis_for_centos8
|
||||
artifacts:
|
||||
name: "stellar-branch-$CI_COMMIT_REF_NAME-release"
|
||||
paths:
|
||||
- build/*
|
||||
except:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
@@ -46,16 +99,8 @@ develop_build_debug_for_centos8:
|
||||
extends: .build_by_travis_for_centos8
|
||||
variables:
|
||||
TESTING_VERSION_BUILD: 1
|
||||
#UPLOAD_SYMBOL_FILES: 1
|
||||
BUILD_TYPE: Debug
|
||||
#ASAN_OPTION: ADDRESS
|
||||
PACKAGE: 1
|
||||
PULP3_REPO_NAME: stellar-stable-x86_64.el8
|
||||
PULP3_DIST_NAME: stellar-stable-x86_64.el8
|
||||
artifacts:
|
||||
name: "stellar-develop-$CI_COMMIT_REF_NAME-debug"
|
||||
paths:
|
||||
- build/*.rpm
|
||||
only:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
@@ -65,16 +110,12 @@ develop_build_release_for_centos8:
|
||||
extends: .build_by_travis_for_centos8
|
||||
variables:
|
||||
TESTING_VERSION_BUILD: 1
|
||||
#UPLOAD_SYMBOL_FILES: 1
|
||||
#ASAN_OPTION: ADDRESS
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
PACKAGE: 1
|
||||
PULP3_REPO_NAME: stellar-stable-x86_64.el8
|
||||
PULP3_DIST_NAME: stellar-stable-x86_64.el8
|
||||
artifacts:
|
||||
name: "stellar-develop-$CI_COMMIT_REF_NAME-release"
|
||||
paths:
|
||||
- build/*.rpm
|
||||
- build/*
|
||||
only:
|
||||
- /^develop-.*$/i
|
||||
- /^release-.*$/i
|
||||
@@ -82,16 +123,8 @@ develop_build_release_for_centos8:
|
||||
release_build_debug_for_centos8:
|
||||
stage: build
|
||||
variables:
|
||||
#UPLOAD_SYMBOL_FILES: 1
|
||||
BUILD_TYPE: Debug
|
||||
PACKAGE: 1
|
||||
PULP3_REPO_NAME: tsg-stable-x86_64.el8
|
||||
PULP3_DIST_NAME: tsg-stable-x86_64.el8
|
||||
extends: .build_by_travis_for_centos8
|
||||
artifacts:
|
||||
name: "stellar-install-$CI_COMMIT_REF_NAME-debug"
|
||||
paths:
|
||||
- build/*.rpm
|
||||
only:
|
||||
- tags
|
||||
|
||||
@@ -99,14 +132,51 @@ release_build_release_for_centos8:
|
||||
stage: build
|
||||
variables:
|
||||
BUILD_TYPE: RelWithDebInfo
|
||||
#UPLOAD_SYMBOL_FILES: 1
|
||||
PACKAGE: 1
|
||||
PULP3_REPO_NAME: tsg-stable-x86_64.el8
|
||||
PULP3_DIST_NAME: tsg-stable-x86_64.el8
|
||||
extends: .build_by_travis_for_centos8
|
||||
artifacts:
|
||||
name: "stellar-install-$CI_COMMIT_REF_NAME-release"
|
||||
paths:
|
||||
- build/*.rpm
|
||||
- build/*
|
||||
only:
|
||||
- tags
|
||||
- tags
|
||||
|
||||
###############################################################################
|
||||
# test
|
||||
###############################################################################
|
||||
test_in_centos8:
|
||||
stage: test
|
||||
image: $BUILD_IMAGE_CENTOS8
|
||||
allow_failure: false
|
||||
script:
|
||||
- *everything_before_script
|
||||
- cd build; ctest -V
|
||||
dependencies:
|
||||
- branch_build_release_for_centos8
|
||||
- develop_build_release_for_centos8
|
||||
- release_build_release_for_centos8
|
||||
tags:
|
||||
- share
|
||||
|
||||
###############################################################################
|
||||
# upload
|
||||
###############################################################################
|
||||
.define_before_upload_centos8:
|
||||
stage: upload
|
||||
image: $BUILD_IMAGE_CENTOS8
|
||||
before_script:
|
||||
- pwd; ls -l ; cd build ; ls -l
|
||||
- cp /root/rpm_upload_tools.py ./
|
||||
variables:
|
||||
PULP3_REPO_NAME: stellar-stable-x86_64.el8
|
||||
PULP3_DIST_NAME: stellar-stable-x86_64.el8
|
||||
only:
|
||||
- tags
|
||||
tags:
|
||||
- share
|
||||
|
||||
rpm_upload_for_centos8:
|
||||
extends: .define_before_upload_centos8
|
||||
dependencies:
|
||||
- release_build_release_for_centos8
|
||||
script:
|
||||
- python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm
|
||||
@@ -39,16 +39,9 @@ if (CMAKE_CXX_CPPCHECK)
|
||||
"--suppress=uselessAssignmentArg"
|
||||
"--suppress=uninitvar"
|
||||
"--suppress=unusedStructMember"
|
||||
"--suppress=funcArgOrderDifferent"
|
||||
"--suppress=unreachableCode"
|
||||
"--suppress=internalAstError"
|
||||
"--suppress=nullPointerRedundantCheck"
|
||||
"--suppress=ctunullpointer"
|
||||
"--suppress=redundantAssignment"
|
||||
"--suppress=duplicateValueTernary"
|
||||
"--suppress=funcArgOrderDifferent"
|
||||
"--suppress=*:${PROJECT_SOURCE_DIR}/vendors/*"
|
||||
"--suppress=*:${PROJECT_SOURCE_DIR}/deps/toml/*"
|
||||
"--suppress=*:${PROJECT_SOURCE_DIR}/deps/rbtree/*"
|
||||
)
|
||||
set(CMAKE_C_CPPCHECK ${CMAKE_CXX_CPPCHECK})
|
||||
else()
|
||||
|
||||
25
ci/travis.sh
25
ci/travis.sh
@@ -32,21 +32,6 @@ env | sort
|
||||
: "${NO_RTTI:=OFF}"
|
||||
: "${COMPILER_IS_GNUCXX:=OFF}"
|
||||
|
||||
# Install dependency from YUM
|
||||
yum install -y mrzcpd-corei7
|
||||
yum install -y numactl-libs # required by mrzcpd
|
||||
yum install -y libibverbs # required by mrzcpd
|
||||
yum install -y libfieldstat4-devel
|
||||
yum install -y tcpdump
|
||||
dnf install -y epel-release
|
||||
dnf install -y wireshark wireshark-cli
|
||||
dnf install -y libpcap-devel
|
||||
dnf install -y jq
|
||||
|
||||
if [ $ASAN_OPTION ] && [ -f "/opt/rh/devtoolset-7/enable" ]; then
|
||||
source /opt/rh/devtoolset-7/enable
|
||||
fi
|
||||
|
||||
mkdir build || true
|
||||
cd build
|
||||
|
||||
@@ -56,17 +41,11 @@ cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
|
||||
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
|
||||
-DVERSION_DAILY_BUILD=$TESTING_VERSION_BUILD \
|
||||
..
|
||||
make -j 4
|
||||
ctest --output-on-failure
|
||||
|
||||
make -j $NPROCESSORS
|
||||
|
||||
if [ -n "${PACKAGE}" ]; then
|
||||
make package
|
||||
cp ~/rpm_upload_tools.py ./
|
||||
python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
|
||||
fi
|
||||
|
||||
if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
|
||||
rpm -i stellar*debuginfo*.rpm
|
||||
cp /usr/lib/debug/opt/tsg/stellar/bin/stellar*debug /tmp/stellar.debuginfo.${CI_COMMIT_SHORT_SHA}
|
||||
sentry-cli upload-dif -t elf /tmp/stellar.debuginfo.${CI_COMMIT_SHORT_SHA}
|
||||
fi
|
||||
|
||||
2
deps/rbtree/rbtree.h
vendored
2
deps/rbtree/rbtree.h
vendored
@@ -342,7 +342,7 @@ rb_find_first(const void *key, const struct rb_root *tree,
|
||||
match = node;
|
||||
node = node->rb_left;
|
||||
}
|
||||
else if (c > 0)
|
||||
else
|
||||
{
|
||||
node = node->rb_right;
|
||||
}
|
||||
|
||||
40
deps/toml/toml.cpp
vendored
40
deps/toml/toml.cpp
vendored
@@ -2502,32 +2502,32 @@ int toml_rtos(toml_raw_t src, char **ret)
|
||||
|
||||
toml_datum_t toml_string_at(const toml_array_t *arr, int idx)
|
||||
{
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtos(toml_raw_at(arr, idx), &ret.u.s));
|
||||
return ret;
|
||||
}
|
||||
|
||||
toml_datum_t toml_bool_at(const toml_array_t *arr, int idx)
|
||||
{
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtob(toml_raw_at(arr, idx), &ret.u.b));
|
||||
return ret;
|
||||
}
|
||||
|
||||
toml_datum_t toml_int_at(const toml_array_t *arr, int idx)
|
||||
{
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtoi(toml_raw_at(arr, idx), &ret.u.i));
|
||||
return ret;
|
||||
}
|
||||
|
||||
toml_datum_t toml_double_at(const toml_array_t *arr, int idx)
|
||||
{
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtod(toml_raw_at(arr, idx), &ret.u.d));
|
||||
return ret;
|
||||
}
|
||||
@@ -2535,8 +2535,8 @@ toml_datum_t toml_double_at(const toml_array_t *arr, int idx)
|
||||
toml_datum_t toml_timestamp_at(const toml_array_t *arr, int idx)
|
||||
{
|
||||
toml_timestamp_t ts;
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtots(toml_raw_at(arr, idx), &ts));
|
||||
if (ret.ok)
|
||||
{
|
||||
@@ -2567,8 +2567,8 @@ toml_datum_t toml_timestamp_at(const toml_array_t *arr, int idx)
|
||||
|
||||
toml_datum_t toml_string_in(const toml_table_t *arr, const char *key)
|
||||
{
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
toml_raw_t raw = toml_raw_in(arr, key);
|
||||
if (raw)
|
||||
{
|
||||
@@ -2579,24 +2579,24 @@ toml_datum_t toml_string_in(const toml_table_t *arr, const char *key)
|
||||
|
||||
toml_datum_t toml_bool_in(const toml_table_t *arr, const char *key)
|
||||
{
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtob(toml_raw_in(arr, key), &ret.u.b));
|
||||
return ret;
|
||||
}
|
||||
|
||||
toml_datum_t toml_int_in(const toml_table_t *arr, const char *key)
|
||||
{
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtoi(toml_raw_in(arr, key), &ret.u.i));
|
||||
return ret;
|
||||
}
|
||||
|
||||
toml_datum_t toml_double_in(const toml_table_t *arr, const char *key)
|
||||
{
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtod(toml_raw_in(arr, key), &ret.u.d));
|
||||
return ret;
|
||||
}
|
||||
@@ -2604,8 +2604,8 @@ toml_datum_t toml_double_in(const toml_table_t *arr, const char *key)
|
||||
toml_datum_t toml_timestamp_in(const toml_table_t *arr, const char *key)
|
||||
{
|
||||
toml_timestamp_t ts;
|
||||
toml_datum_t ret;
|
||||
memset(&ret, 0, sizeof(ret));
|
||||
toml_datum_t ret={};
|
||||
//memset(&ret, 0, sizeof(ret));
|
||||
ret.ok = (0 == toml_rtots(toml_raw_in(arr, key), &ts));
|
||||
if (ret.ok)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
add_library(packet_io dumpfile_io.cpp marsio_io.cpp lock_free_queue.cpp packet_io.cpp)
|
||||
target_include_directories(packet_io PUBLIC ${CMAKE_CURRENT_LIST_DIR})
|
||||
target_include_directories(packet_io PUBLIC ${CMAKE_SOURCE_DIR}/src/stellar)
|
||||
target_link_libraries(packet_io mrzcpd pcap packet)
|
||||
target_link_libraries(packet_io marsio pcap packet)
|
||||
@@ -166,7 +166,7 @@ void session_table_del(struct session_table *table, struct session *sess)
|
||||
HASH_DELETE(hh1, table->root_tuple6, sess);
|
||||
HASH_DELETE(hh2, table->root_tuple4, sess);
|
||||
HASH_DELETE(hh3, table->root_sessid, sess);
|
||||
if (table->free_cb && sess)
|
||||
if (table->free_cb)
|
||||
{
|
||||
table->free_cb(sess, table->arg);
|
||||
}
|
||||
|
||||
13
vendor/CMakeLists.txt
vendored
13
vendor/CMakeLists.txt
vendored
@@ -23,16 +23,3 @@ add_library(gmock STATIC IMPORTED GLOBAL)
|
||||
add_dependencies(gmock googletest)
|
||||
set_property(TARGET gmock PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgmock.a)
|
||||
set_property(TARGET gmock PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
|
||||
|
||||
# MRZCPD
|
||||
set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib)
|
||||
set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include)
|
||||
|
||||
add_library(mrzcpd SHARED IMPORTED GLOBAL)
|
||||
set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)
|
||||
set_property(TARGET mrzcpd PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MRZCPD_INCLUDE_DIR})
|
||||
|
||||
# FIELDSTAT
|
||||
add_library(fieldstat4 SHARED IMPORTED GLOBAL)
|
||||
set_property(TARGET fieldstat4 PROPERTY IMPORTED_LOCATION /opt/MESA/lib/libfieldstat4.so)
|
||||
set_property(TARGET fieldstat4 PROPERTY INTERFACE_INCLUDE_DIRECTORIES /opt/MESA/include)
|
||||
Reference in New Issue
Block a user