summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml287
-rw-r--r--CMakeLists.txt3
-rw-r--r--ci/travis.sh5
-rw-r--r--support/CMakeLists.txt8
-rw-r--r--test/CMakeLists.txt4
-rw-r--r--test/test_protocol_run.zipbin795325 -> 795539 bytes
6 files changed, 200 insertions, 107 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5253be4..a9ea367 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,155 +1,244 @@
variables:
GIT_STRATEGY: "clone"
- BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
- INSTALL_DEPENDENCY_PLATFORM: sapp-devel libasan systemd-devel libnsl
- INSTALL_DEPENDENCY_FRAMEWORK: libMESA_handle_logger-devel libcjson-devel libfieldstat4-devel libMESA_field_stat2-devel framework_env libMESA_prof_load-devel libbreakpad_mini-devel libMESA_htable-devel libuuid-devel
- INSTALL_PREFIX: "/home/mesasoft/sapp_run/"
+ BUILD_IMAGE_X86_64_ROCKY8: "git.mesalab.cn:7443/mesa_platform/build-env:rocky8-for-sapp"
+ BUILD_IMAGE_AARCH64_ROCKY9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64"
+ INSTALL_DEPENDENCY_PLATFORM: sapp-devel sapp libasan systemd-devel libnsl libuuid-devel perl-core
+ INSTALL_DEPENDENCY_FRAMEWORK: libMESA_handle_logger-devel libcjson-devel libMESA_field_stat2-devel framework_env libMESA_prof_load-devel libbreakpad_mini-devel libMESA_htable-devel libfieldstat3 libuuid libfieldstat4-devel
+ SYMBOL_TARGET: ssl
+ INSTALL_PREFIX: "/opt/tsg/sapp/"
stages:
-- analysis
+- cppcheck
- build
- test
-- package
+- upload
-run_cppcheck_for_centos8:
- stage: analysis
- image: $BUILD_IMAGE_CENTOS8
+.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 install -y $INSTALL_DEPENDENCY_PLATFORM $INSTALL_DEPENDENCY_FRAMEWORK
+ - chmod +x ./ci/travis.sh
+
+###############################################################################
+# cppcheck
+###############################################################################
+.cppcheck_script:
+ variables:
+ BUILD_TYPE: Debug
+ stage: cppcheck
script:
- - mkdir build || true
- - cd build
- - cmake3 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
- - cppcheck --project=compile_commands.json
+ - mkdir build; cd build; cmake3 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
+ - >
+ cppcheck --project=compile_commands.json
--enable=all
--error-exitcode=1
- --suppress=unusedFunction
- --suppress=missingInclude
- --suppress=uselessAssignmentPtrArg
- --suppress=unreachableCode
- --suppress=unreadVariable
+ --suppress=sizeofDivisionMemfunc
+ --suppress=unsignedLessThanZero
+ --suppress=unusedFunction
+ --suppress=missingInclude
+ --suppress=uselessAssignmentPtrArg
--suppress=unmatchedSuppression
--suppress=variableScope
+ --suppress=unreadVariable
+ --suppress=cstyleCast
+ --suppress=memleakOnRealloc
--suppress=constParameter
- --suppress=*:${PROJECT_SOURCE_DIR}/src/utstring.h
+ --suppress=uselessAssignmentArg
+ --suppress=uninitvar
+ --suppress=unusedStructMember
+ --suppress=unreachableCode
+ --suppress=internalAstError
+ --suppress=nullPointerRedundantCheck
+ --suppress=ctunullpointer
+ --suppress=redundantAssignment
+ --suppress=duplicateValueTernary
+ --suppress=cstyleCast
+ --suppress=*:*/deps/*
+
+run_cppcheck_for_x86_64_rocky8:
+ extends: .cppcheck_script
+ image: $BUILD_IMAGE_X86_64_ROCKY8
tags:
- - share
+ - tsg-os-builder-el8
-run_test_for_centos8:
- stage: test
- extends: .build_by_travis_for_centos8
- script:
- - yum makecache
- - ./ci/travis.sh
- - cd build
- - ctest3 --verbose
+run_cppcheck_for_aarch64_rocky9:
+ extends: .cppcheck_script
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
+ tags:
+ - tsg-os-builder-aarch64
+###############################################################################
+# build
+###############################################################################
.build_before_script:
- 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
- - chmod +x ./ci/travis.sh
- - yum makecache
- - yum install -y elfutils-libelf-devel
-
-
-.build_by_travis_for_centos8:
- stage: build
- image: $BUILD_IMAGE_CENTOS8
- extends: .build_before_script
+ before_script: *everything_before_script
script:
- ./ci/travis.sh
- tags:
- - share
-
-branch_build_debug_for_centos8:
- stage: build
- extends: .build_by_travis_for_centos8
- variables:
+ variables:
+ BUILD_TEST: "ON"
BUILD_TYPE: Debug
- except:
- - /^develop.*$/i
- - /^master.*$/i
- - tags
-
-branch_build_release_for_centos8:
+
+.build_by_travis_for_x86_64_rocky8:
stage: build
+ image: $BUILD_IMAGE_X86_64_ROCKY8
+ extends: .build_before_script
+ tags:
+ - tsg-os-builder-el8
+
+develop_build_for_x86_64_rocky8:
+ extends: .build_by_travis_for_x86_64_rocky8
variables:
BUILD_TYPE: RelWithDebInfo
- extends: .build_by_travis_for_centos8
+ artifacts:
+ name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-debug"
+ paths:
+ - build/*
except:
- - /^develop.*$/i
- - /^master.*$/i
- tags
-develop_build_debug_for_centos8:
- stage: build
- extends: .build_by_travis_for_centos8
+release_build_debug_for_x86_64_rocky8:
+ extends: .build_by_travis_for_x86_64_rocky8
variables:
BUILD_TYPE: Debug
PACKAGE: 1
- UPLOAD_RPM: 1
- ASAN_OPTION: ADDRESS
- TESTING_VERSION_BUILD: 1
- PULP3_REPO_NAME: protocol-testing-x86_64.el8
- PULP3_DIST_NAME: protocol-testing-x86_64.el8
+ ASAN_OPTION: "ADDRESS"
artifacts:
- name: "ssl-$CI_COMMIT_REF_NAME-debug"
+ name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release"
paths:
- - build/*.rpm
+ - build/*
only:
- - /^develop.*$/i
- - /^master.*$/i
+ - tags
-develop_build_release_for_centos8:
- stage: build
- extends: .build_by_travis_for_centos8
+release_build_for_x86_64_rocky8:
+ extends: .build_by_travis_for_x86_64_rocky8
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
- UPLOAD_RPM: 1
- TESTING_VERSION_BUILD: 1
- PULP3_REPO_NAME: protocol-testing-x86_64.el8
- PULP3_DIST_NAME: protocol-testing-x86_64.el8
artifacts:
- name: "ssl-$CI_COMMIT_REF_NAME-release"
+ name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release"
paths:
- - build/*.rpm
+ - build/*
only:
- - /^develop.*$/i
- - /^master.*$/i
+ - tags
+
+.build_by_travis_for_aarch64_rocky9:
+ stage: build
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
+ extends: .build_before_script
+ tags:
+ - tsg-os-builder-aarch64
+
+develop_build_for_aarch64_rocky9:
+ extends: .build_by_travis_for_aarch64_rocky9
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ artifacts:
+ name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-debug"
+ paths:
+ - build/*
+ except:
+ - tags
-release_build_debug_for_centos8:
- stage: package
+release_build_debug_for_aarch64_rocky9:
+ extends: .build_by_travis_for_aarch64_rocky9
variables:
BUILD_TYPE: Debug
PACKAGE: 1
- UPLOAD_RPM: 1
- ASAN_OPTION: ADDRESS
- PULP3_REPO_NAME: protocol-stable-x86_64.el8
- PULP3_DIST_NAME: protocol-stable-x86_64.el8
- extends: .build_by_travis_for_centos8
+ ASAN_OPTION: "ADDRESS"
artifacts:
- name: "ssl-$CI_COMMIT_REF_NAME-debug"
+ name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release"
paths:
- - build/*.rpm
+ - build/*
only:
- tags
-release_build_release_for_centos8:
- stage: package
+release_build_for_aarch64_rocky9:
+ extends: .build_by_travis_for_aarch64_rocky9
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
- UPLOAD_RPM: 1
- UPLOAD_SYMBOL_FILES: 1
- SYMBOL_TARGET: ssl
- PULP3_REPO_NAME: protocol-stable-x86_64.el8
- PULP3_DIST_NAME: protocol-stable-x86_64.el8
- extends: .build_by_travis_for_centos8
artifacts:
- name: "ssl-$CI_COMMIT_REF_NAME-release"
+ name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release"
paths:
- - build/*.rpm
+ - build/*
+ only:
+ - tags
+###############################################################################
+# test
+###############################################################################
+test_in_x86_64_rocky8:
+ stage: test
+ image: $BUILD_IMAGE_X86_64_ROCKY8
+ allow_failure: false
+ script:
+ - *everything_before_script
+ - yum install -y $INSTALL_DEPENDENCY_PLATFORM $INSTALL_DEPENDENCY_FRAMEWORK
+ - cd build; ctest3 --verbose
+ dependencies:
+ - develop_build_for_x86_64_rocky8
+ - release_build_for_x86_64_rocky8
+ tags:
+ - tsg-os-builder-el8
+
+test_in_aarch64_rocky9:
+ stage: test
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
+ allow_failure: false
+ script:
+ - *everything_before_script
+ - yum install -y $INSTALL_DEPENDENCY_PLATFORM $INSTALL_DEPENDENCY_FRAMEWORK
+ - cd build; ctest3 --verbose
+ dependencies:
+ - develop_build_for_aarch64_rocky9
+ - release_build_for_aarch64_rocky9
+ tags:
+ - tsg-os-builder-aarch64
+
+###############################################################################
+# upload
+###############################################################################
+.define_before_upload_x86_64_rocky8:
+ stage: upload
+ image: $BUILD_IMAGE_X86_64_ROCKY8
+ before_script:
+ - pwd; ls -l ; cd build ; ls -l
+ - cp /root/rpm_upload_tools.py ./
+ variables:
+ PULP3_REPO_NAME: protocol-stable-x86_64.el8
+ PULP3_DIST_NAME: protocol-stable-x86_64.el8
+ only:
+ - tags
+ tags:
+ - tsg-os-builder-el8
+
+rpm_upload_for_x86_64_rocky8:
+ extends: .define_before_upload_x86_64_rocky8
+ dependencies:
+ - release_build_debug_for_x86_64_rocky8
+ - release_build_for_x86_64_rocky8
+ script:
+ - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm
+
+.define_before_upload_aarch64_rocky9:
+ stage: upload
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
+ before_script:
+ - pwd; ls -l ; cd build ; ls -l
+ - cp /root/rpm_upload_tools.py ./
+ variables:
+ PULP3_REPO_NAME: protocol-stable-aarch64.el9
+ PULP3_DIST_NAME: protocol-stable-aarch64.el9
only:
- tags
+ tags:
+ - tsg-os-builder-aarch64
+
+rpm_upload_for_aarch64_rocky9:
+ extends: .define_before_upload_aarch64_rocky9
+ dependencies:
+ - release_build_debug_for_aarch64_rocky9
+ - release_build_for_aarch64_rocky9
+ script:
+ - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 97cdace..9e13293 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,7 @@ if (CMAKE_CXX_CPPCHECK)
"--suppress=unreachableCode"
"--suppress=constParameter"
"--suppress=variableScope"
+ "--suppress=cstyleCast"
"--suppress=*:${PROJECT_SOURCE_DIR}/src/utstring.h"
)
message("cppcheck start...")
@@ -74,7 +75,7 @@ else()
set_target_properties(ssl PROPERTIES OUTPUT_NAME ${lib_name})
endif()
-set(CMAKE_INSTALL_PREFIX /home/mesasoft/sapp_run/)
+set(CMAKE_INSTALL_PREFIX /opt/tsg/sapp/)
enable_testing()
add_subdirectory(test)
diff --git a/ci/travis.sh b/ci/travis.sh
index 13fb857..a32b49f 100644
--- a/ci/travis.sh
+++ b/ci/travis.sh
@@ -61,8 +61,3 @@ make
if [ -n "${PACKAGE}" ]; then
make package
fi
-
-if [ -n "${UPLOAD_RPM}" ]; then
- cp ~/rpm_upload_tools.py ./
- python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
-fi
diff --git a/support/CMakeLists.txt b/support/CMakeLists.txt
index db6c0e1..1f02c74 100644
--- a/support/CMakeLists.txt
+++ b/support/CMakeLists.txt
@@ -2,11 +2,17 @@
include(ExternalProject)
+if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+set(OPENSSL_CONFIGURE_TARGET "linux-x86_64")
+else()
+set(OPENSSL_CONFIGURE_TARGET "linux-generic64")
+endif()
+
### OpenSSL 1.1.1m
ExternalProject_Add(openssl PREFIX openssl
URL ${CMAKE_CURRENT_SOURCE_DIR}/openssl-1.1.1m.tar.gz
URL_MD5 8ec70f665c145c3103f6e330f538a9db
- CONFIGURE_COMMAND ./Configure linux-x86_64 --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>/lib/ssl -fPIC no-shared
+ CONFIGURE_COMMAND ./Configure ${OPENSSL_CONFIGURE_TARGET} --prefix=<INSTALL_DIR> --openssldir=<INSTALL_DIR>/lib/ssl -fPIC no-shared
BUILD_COMMAND ${MAKE_COMMAND}
INSTALL_COMMAND make install_sw
BUILD_IN_SOURCE 1)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index c379920..8af7e8d 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -9,7 +9,7 @@ include_directories(${CMAKE_SOURCE_DIR}/src/)
ExternalProject_Add(ProtoTest PREFIX ProtoTest
URL ${CMAKE_CURRENT_SOURCE_DIR}/test_protocol_run.zip
- URL_MD5 71d8284b59af0286b5f31f0a3160bc44
+ URL_MD5 7753123e9a29e17a7e0ab14c412a7e18
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
@@ -35,6 +35,8 @@ add_library(${lib_name}_test_plug SHARED ${lib_name}_test_plug.cpp)
target_link_libraries(${lib_name}_test_plug MESA_prof_load cjson)
set_target_properties(${lib_name}_test_plug PROPERTIES PREFIX "")
+add_test(NAME COPY_MAIN COMMAND sh -c "cp -r /home/mesasoft/sapp_run/tools/plugin_test_main ${PROTO_TEST_RUN_DIR}/test_protocol_plug_main")
+
add_test(NAME COPY_SO COMMAND sh -c "cp ${CMAKE_BINARY_DIR}/${lib_name}.so ${PROTO_TEST_RUN_DIR}/plug/protocol/${lib_name}/${lib_name}.so")
add_test(NAME COPY_TEST_SO COMMAND sh -c "cp ${CMAKE_CURRENT_BINARY_DIR}/${lib_name}_test_plug.so ${PROTO_TEST_RUN_DIR}/plug/business/${lib_name}_test_plug/${lib_name}_test_plug.so")
diff --git a/test/test_protocol_run.zip b/test/test_protocol_run.zip
index 996f3fa..52aa01e 100644
--- a/test/test_protocol_run.zip
+++ b/test/test_protocol_run.zip
Binary files differ