From 1372b3999443463bbb8f719f4728a6d0f8105dfe Mon Sep 17 00:00:00 2001 From: luwenpeng Date: Tue, 12 Nov 2024 09:26:28 +0800 Subject: [PATCH] =?UTF-8?q?TSG-23336=20SCE=E9=80=82=E9=85=8DAArch64?= =?UTF-8?q?=E6=9E=B6=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 140 ++++++++++++++++++++++++++++++++++++------ ci/travis.sh | 16 +++-- common/src/kafka.cpp | 2 +- test/CMakeLists.txt | 7 ++- vendor/CMakeLists.txt | 14 +++-- 5 files changed, 142 insertions(+), 37 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index efc174b..fe45446 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,17 +3,121 @@ variables: BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/ INSTALL_PREFIX: "/opt/tsg/sce" TESTING_VERSION_BUILD: 0 - BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux" + BUILD_IMAGE_X86_64_EL8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux" + BUILD_IMAGE_AARCH64_EL9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64" stages: - build ############################################################################### -# compile use image: build-env:rockylinux +# compile for el9 ############################################################################### -.build_by_travis_for_centos8: - image: $BUILD_IMAGE_CENTOS8 +.build_by_travis_for_aarch64_el9: + image: $BUILD_IMAGE_AARCH64_EL9 + 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 + script: + - yum makecache + - ./ci/travis.sh + tags: + - tsg-os-builder-aarch64 + +branch_build_debug_for_aarch64_el9: + stage: build + extends: .build_by_travis_for_aarch64_el9 + variables: + BUILD_TYPE: Debug + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +branch_build_release_for_aarch64_el9: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + extends: .build_by_travis_for_aarch64_el9 + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +develop_build_debug_for_aarch64_el9: + stage: build + extends: .build_by_travis_for_aarch64_el9 + variables: + TESTING_VERSION_BUILD: 1 + BUILD_TYPE: Debug + #ASAN_OPTION: ADDRESS + PACKAGE: 1 + PULP3_REPO_NAME: tsg-testing-aarch64.el9 + PULP3_DIST_NAME: tsg-testing-aarch64.el9 + artifacts: + name: "sce-develop-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm + only: + - /^develop-.*$/i + - /^release-.*$/i + +develop_build_release_for_aarch64_el9: + stage: build + extends: .build_by_travis_for_aarch64_el9 + variables: + TESTING_VERSION_BUILD: 1 + #ASAN_OPTION: ADDRESS + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + PULP3_REPO_NAME: tsg-testing-aarch64.el9 + PULP3_DIST_NAME: tsg-testing-aarch64.el9 + artifacts: + name: "sce-develop-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - /^develop-.*$/i + - /^release-.*$/i + +release_build_debug_for_aarch64_el9: + stage: build + variables: + BUILD_TYPE: Debug + PACKAGE: 1 + PULP3_REPO_NAME: tsg-stable-aarch64.el9 + PULP3_DIST_NAME: tsg-stable-aarch64.el9 + extends: .build_by_travis_for_aarch64_el9 + artifacts: + name: "sce-install-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm + only: + - tags + +release_build_release_for_aarch64_el9: + stage: build + variables: + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + PULP3_REPO_NAME: tsg-stable-aarch64.el9 + PULP3_DIST_NAME: tsg-stable-aarch64.el9 + extends: .build_by_travis_for_aarch64_el9 + artifacts: + name: "sce-install-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - tags + +############################################################################### +# compile for el8 +############################################################################### + +.build_by_travis_for_x86_64_el8: + image: $BUILD_IMAGE_X86_64_EL8 before_script: - mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/ - ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH @@ -25,9 +129,9 @@ stages: tags: - share -branch_build_debug_for_centos8: +branch_build_debug_for_x86_64_el8: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_x86_64_el8 variables: BUILD_TYPE: Debug except: @@ -35,22 +139,21 @@ branch_build_debug_for_centos8: - /^release-.*$/i - tags -branch_build_release_for_centos8: +branch_build_release_for_x86_64_el8: stage: build variables: BUILD_TYPE: RelWithDebInfo - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_x86_64_el8 except: - /^develop-.*$/i - /^release-.*$/i - tags -develop_build_debug_for_centos8: +develop_build_debug_for_x86_64_el8: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_x86_64_el8 variables: TESTING_VERSION_BUILD: 1 - #UPLOAD_SYMBOL_FILES: 1 BUILD_TYPE: Debug #ASAN_OPTION: ADDRESS PACKAGE: 1 @@ -64,12 +167,11 @@ develop_build_debug_for_centos8: - /^develop-.*$/i - /^release-.*$/i -develop_build_release_for_centos8: +develop_build_release_for_x86_64_el8: stage: build - extends: .build_by_travis_for_centos8 + extends: .build_by_travis_for_x86_64_el8 variables: TESTING_VERSION_BUILD: 1 - #UPLOAD_SYMBOL_FILES: 1 #ASAN_OPTION: ADDRESS BUILD_TYPE: RelWithDebInfo PACKAGE: 1 @@ -83,15 +185,14 @@ develop_build_release_for_centos8: - /^develop-.*$/i - /^release-.*$/i -release_build_debug_for_centos8: +release_build_debug_for_x86_64_el8: 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 + extends: .build_by_travis_for_x86_64_el8 artifacts: name: "sce-install-$CI_COMMIT_REF_NAME-debug" paths: @@ -99,15 +200,14 @@ release_build_debug_for_centos8: only: - tags -release_build_release_for_centos8: +release_build_release_for_x86_64_el8: 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 + extends: .build_by_travis_for_x86_64_el8 artifacts: name: "sce-install-$CI_COMMIT_REF_NAME-release" paths: diff --git a/ci/travis.sh b/ci/travis.sh index 163f398..708beb4 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -33,8 +33,12 @@ env | sort : "${COMPILER_IS_GNUCXX:=OFF}" # Install dependency from YUM +if [[ `arch` =~ 'x86_64' ]];then + yum install -y mrzcpd-corei7 +elif [[ `arch` =~ 'aarch64' ]];then + yum install -y mrzcpd +fi yum install -y libasan -yum install -y mrzcpd-corei7-4.* yum install -y libmaatframe-devel yum install -y libMESA_handle_logger-devel yum install -y libMESA_prof_load-devel @@ -42,8 +46,8 @@ yum install -y libfieldstat4-devel yum install -y numactl-libs # required by mrzcpd yum install -y libibverbs # required by mrzcpd yum install -y libbreakpad_mini-devel -yum install -y librdkafka-1.2.2.1218b3c -yum install -y librdkafka-devel-1.2.2.1218b3c +yum install -y librdkafka +yum install -y librdkafka-devel yum install -y libuuid-devel yum install -y jq @@ -68,9 +72,3 @@ if [ -n "${PACKAGE}" ]; then 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 sce*debuginfo*.rpm - cp /usr/lib/debug/opt/tsg/sce/bin/sce*debug /tmp/sce.debuginfo.${CI_COMMIT_SHORT_SHA} - sentry-cli upload-dif -t elf /tmp/sce.debuginfo.${CI_COMMIT_SHORT_SHA} -fi diff --git a/common/src/kafka.cpp b/common/src/kafka.cpp index 737a2e2..e16f392 100644 --- a/common/src/kafka.cpp +++ b/common/src/kafka.cpp @@ -5,7 +5,7 @@ #include "utils.h" #include "kafka.h" #include -#include +#include #define MAX_SYMBOL_LEN 128 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index c9105b8..5398670 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -3,7 +3,12 @@ ############################################################################### add_library(gmock_marsio gmock_marsio.cpp) -target_include_directories(gmock_marsio PUBLIC /opt/tsg/mrzcpd/corei7/include) + +if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + target_include_directories(gmock_marsio PUBLIC /opt/tsg/mrzcpd/corei7/include) +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") + target_include_directories(gmock_marsio PUBLIC /opt/tsg/mrzcpd/aarch64/include) +endif() ############################################################################### # temp_platform diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index 62d1592..6c41481 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -40,10 +40,6 @@ set_property(TARGET cjson PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/ set(MESA_FRAMEWORK_LIB_DIR /opt/MESA/lib) set(MESA_FRAMEWORK_INCLUDE_DIR /opt/MESA/include) -add_library(rdkafka SHARED IMPORTED GLOBAL) -set_property(TARGET rdkafka PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/librdkafka.so) -set_property(TARGET rdkafka PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) - add_library(MESA_handle_logger SHARED IMPORTED GLOBAL) set_property(TARGET MESA_handle_logger PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libMESA_handle_logger.so) set_property(TARGET MESA_handle_logger PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) @@ -60,8 +56,14 @@ add_library(maatframe SHARED IMPORTED GLOBAL) set_property(TARGET maatframe PROPERTY IMPORTED_LOCATION ${MESA_FRAMEWORK_LIB_DIR}/libmaatframe.so) set_property(TARGET maatframe PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${MESA_FRAMEWORK_INCLUDE_DIR}) -set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib) -set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include) +# MRZCPD +if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/corei7/lib) + set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/corei7/include) +elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") + set(MRZCPD_LIB_DIR /opt/tsg/mrzcpd/aarch64/lib) + set(MRZCPD_INCLUDE_DIR /opt/tsg/mrzcpd/aarch64/include) +endif() add_library(mrzcpd SHARED IMPORTED GLOBAL) set_property(TARGET mrzcpd PROPERTY IMPORTED_LOCATION ${MRZCPD_LIB_DIR}/libmarsio.so)