diff options
| author | luwenpeng <[email protected]> | 2022-02-09 17:17:42 +0800 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2022-02-11 14:16:44 +0800 |
| commit | 21dcd49829f1e92a5754c58d10d699c22228725b (patch) | |
| tree | 4568002a4a95f993023e033dd8e9c0b476a12914 | |
| parent | de0e8c77e7731b2faeac31a5792205e85508cc0d (diff) | |
TSG-9550 TFE运行CI时同时构建CentOS7/CentOS8运行环境的安装包v4.6.06-20220211
| -rw-r--r-- | .gitlab-ci.yml | 244 | ||||
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | ci/travis.sh | 4 |
3 files changed, 194 insertions, 56 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6d50724..9a48688 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,30 +1,85 @@ -image: "git.mesalab.cn:7443/mesa_platform/build-env:master" 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/tfe" TESTING_VERSION_BUILD: 0 + BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master" + BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux" stages: -- build -- envelope -- upload + - build + - envelope + - upload -.build_by_travis: +.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 + - 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_centos7: + stage: build + image: $BUILD_IMAGE_CENTOS7 + extends: .build_before_script script: - - yum makecache - - ./ci/travis.sh + - yum install -y libmnl-devel + - yum install -y libnfnetlink-devel + - ./ci/travis.sh tags: - - share + - share -branch_build_debug: +.build_by_travis_for_centos8: stage: build - extends: .build_by_travis + image: $BUILD_IMAGE_CENTOS8 + extends: .build_before_script + script: + - dnf --enablerepo=powertools install -y libmnl-devel + - dnf --enablerepo=powertools install -y libnfnetlink-devel + - ./ci/travis.sh + tags: + - share + +.envelope_rpm_script: + stage: envelope + script: + - ls $CI_PROJECT_DIR/build/*.rpm + - echo $TARGET_SYS_TYPE + - export RPM_FULL_PATH=`ls $CI_PROJECT_DIR/build/*.rpm | grep -v debug | grep -v devel | grep $TARGET_SYS_TYPE | head -n 1` + - echo $RPM_FULL_PATH + - export BIN_TO_PROTECT_IN_RPM="${INSTALL_PREFIX}/bin/tfe" + - /root/rebuildrpm_and_envelope.sh $RPM_FULL_PATH $BIN_TO_PROTECT_IN_RPM $FEATURE_ID $APP_NAME_IN_RPM_SPEC + tags: + - envelope + artifacts: + name: "tfe-pr-$CI_COMMIT_REF_NAME-release" + paths: + - build/*-pr-*.rpm + only: + - tags + +.upload_enveloped_rpm_script: + stage: upload + script: + - cd $CI_PROJECT_DIR/build/ + - ls -ahl *.rpm + - echo $TARGET_SYS_TYPE + - cp ~/rpm_upload_tools.py ./ + - python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *-pr-*${TARGET_SYS_TYPE}*.rpm + - rm -rf *.rpm + tags: + - share + only: + - tags + +############################################################################### +# compile use image: build-env:master +############################################################################### + +branch_build_debug_for_centos7: + extends: .build_by_travis_for_centos7 variables: BUILD_TYPE: Debug except: @@ -32,24 +87,22 @@ branch_build_debug: - /^release-.*$/i - tags -branch_build_release: - stage: build +branch_build_release_for_centos7: variables: BUILD_TYPE: RelWithDebInfo - extends: .build_by_travis + extends: .build_by_travis_for_centos7 except: - /^develop-.*$/i - /^release-.*$/i - tags -develop_build_debug: - stage: build - extends: .build_by_travis +develop_build_debug_for_centos7: + extends: .build_by_travis_for_centos7 variables: TESTING_VERSION_BUILD: 1 UPLOAD_SYMBOL_FILES: 1 BUILD_TYPE: Debug - ASAN_OPTION: ADDRESS + # ASAN_OPTION: ADDRESS PACKAGE: 1 PULP3_REPO_NAME: tfe-testing-x86_64.el7 PULP3_DIST_NAME: tfe-testing-x86_64.el7 @@ -61,13 +114,12 @@ develop_build_debug: - /^develop-.*$/i - /^release-.*$/i -develop_build_release: - stage: build - extends: .build_by_travis +develop_build_release_for_centos7: + extends: .build_by_travis_for_centos7 variables: TESTING_VERSION_BUILD: 1 UPLOAD_SYMBOL_FILES: 1 - # ASAN_OPTION: ADDRESS + # ASAN_OPTION: ADDRESS BUILD_TYPE: RelWithDebInfo PACKAGE: 1 PULP3_REPO_NAME: tfe-testing-x86_64.el7 @@ -80,15 +132,14 @@ develop_build_release: - /^develop-.*$/i - /^release-.*$/i -release_build_debug: - stage: build +release_build_debug_for_centos7: variables: UPLOAD_SYMBOL_FILES: 1 BUILD_TYPE: Debug PACKAGE: 1 PULP3_REPO_NAME: tfe-stable-x86_64.el7 PULP3_DIST_NAME: tfe-stable-x86_64.el7 - extends: .build_by_travis + extends: .build_by_travis_for_centos7 artifacts: name: "tfe-install-$CI_COMMIT_REF_NAME-debug" paths: @@ -96,15 +147,14 @@ release_build_debug: only: - tags -release_build_release: - stage: build +release_build_release_for_centos7: variables: BUILD_TYPE: RelWithDebInfo UPLOAD_SYMBOL_FILES: 1 PACKAGE: 1 PULP3_REPO_NAME: tfe-stable-x86_64.el7 PULP3_DIST_NAME: tfe-stable-x86_64.el7 - extends: .build_by_travis + extends: .build_by_travis_for_centos7 artifacts: name: "tfe-install-$CI_COMMIT_REF_NAME-release" paths: @@ -112,36 +162,122 @@ release_build_release: only: - tags -envelope_rpm: - stage: envelope +envelope_rpm_for_centos7: + image: $BUILD_IMAGE_CENTOS7 variables: FEATURE_ID: 100 APP_NAME_IN_RPM_SPEC: tfe - script: - - export RPM_FULL_PATH=`ls $CI_PROJECT_DIR/build/*.rpm | grep -v debug | grep -v debuginfo | grep -v devel | head -n 1` - - export BIN_TO_PROTECT_IN_RPM="${INSTALL_PREFIX}/bin/tfe" - - /root/rebuildrpm_and_envelope.sh $RPM_FULL_PATH $BIN_TO_PROTECT_IN_RPM $FEATURE_ID $APP_NAME_IN_RPM_SPEC - tags: - - envelope + TARGET_SYS_TYPE: el7 + extends: .envelope_rpm_script + +upload_enveloped_rpm_for_centos7: + image: $BUILD_IMAGE_CENTOS7 + variables: + TARGET_SYS_TYPE: el7 + PULP3_REPO_NAME: tfe-stable-x86_64.el7 + PULP3_DIST_NAME: tfe-stable-x86_64.el7 + extends: .upload_enveloped_rpm_script + +############################################################################### +# compile use image: build-env:rockylinux +############################################################################### + +branch_build_debug_for_centos8: + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: Debug + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +branch_build_release_for_centos8: + variables: + BUILD_TYPE: RelWithDebInfo + extends: .build_by_travis_for_centos8 + except: + - /^develop-.*$/i + - /^release-.*$/i + - tags + +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: tfe-testing-x86_64.el8 + PULP3_DIST_NAME: tfe-testing-x86_64.el8 artifacts: - name: "tfe-pr-$CI_COMMIT_REF_NAME-release" + name: "tfe-develop-$CI_COMMIT_REF_NAME-debug" paths: - - build/*-pr-*.rpm + - build/*.rpm + only: + - /^develop-.*$/i + - /^release-.*$/i + +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: tfe-testing-x86_64.el8 + PULP3_DIST_NAME: tfe-testing-x86_64.el8 + artifacts: + name: "tfe-develop-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm + only: + - /^develop-.*$/i + - /^release-.*$/i + +release_build_debug_for_centos8: + variables: + UPLOAD_SYMBOL_FILES: 1 + BUILD_TYPE: Debug + PACKAGE: 1 + PULP3_REPO_NAME: tfe-stable-x86_64.el8 + PULP3_DIST_NAME: tfe-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 + artifacts: + name: "tfe-install-$CI_COMMIT_REF_NAME-debug" + paths: + - build/*.rpm only: - tags - -upload_envelope_rpm: - stage: upload + +release_build_release_for_centos8: variables: - PULP3_REPO_NAME: tfe-stable-x86_64.el7 - PULP3_DIST_NAME: tfe-stable-x86_64.el7 - script: - - cd $CI_PROJECT_DIR/build/ - - ls -ahl *.rpm - - cp ~/rpm_upload_tools.py ./ - - python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *-pr-*.rpm - - rm -rf *.rpm - tags: - - share + BUILD_TYPE: RelWithDebInfo + UPLOAD_SYMBOL_FILES: 1 + PACKAGE: 1 + PULP3_REPO_NAME: tfe-stable-x86_64.el8 + PULP3_DIST_NAME: tfe-stable-x86_64.el8 + extends: .build_by_travis_for_centos8 + artifacts: + name: "tfe-install-$CI_COMMIT_REF_NAME-release" + paths: + - build/*.rpm only: - tags + +envelope_rpm_for_centos8: + image: $BUILD_IMAGE_CENTOS8 + variables: + FEATURE_ID: 100 + APP_NAME_IN_RPM_SPEC: tfe + TARGET_SYS_TYPE: el8 + extends: .envelope_rpm_script + +upload_enveloped_rpm_for_centos8: + image: $BUILD_IMAGE_CENTOS8 + variables: + TARGET_SYS_TYPE: el8 + PULP3_REPO_NAME: tfe-stable-x86_64.el8 + PULP3_DIST_NAME: tfe-stable-x86_64.el8 + extends: .upload_enveloped_rpm_script
\ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f3a69d..e6067c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,6 +56,8 @@ elseif(ENABLE_SANITIZE_THREAD) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan") endif() +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lelf") + if(ENABLE_SANITIZE_ADDRESS AND ENABLE_SANITIZE_THREAD) message(WARNING "Both ENABLE_SANITIZE_ADDRESS and ENABLE_SANITIZE_THREAD set, only ENABLE_SANITIZE_ADDRESS effected.") endif() diff --git a/ci/travis.sh b/ci/travis.sh index 7744474..972e605 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -37,7 +37,6 @@ yum install -y mrzcpd numactl-devel zlib-devel librdkafka-devel systemd-devel yum install -y libcjson-devel libmaatframe-devel libMESA_field_stat2-devel libMESA_handle_logger-devel yum install -y libMESA_htable-devel libMESA_prof_load-devel librulescan-devel libwiredcfg-devel libWiredLB-devel sapp-devel libbreakpad_mini-devel yum install -y libasan -yum install -y libmnl-devel libnfnetlink-devel if [ $ASAN_OPTION ];then source /opt/rh/devtoolset-7/enable @@ -64,6 +63,7 @@ fi if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then rpm -i tfe*debuginfo*.rpm - cp /usr/lib/debug/opt/tsg/tfe/bin/tfe.debug /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA} + ls -ahl /usr/lib/debug/opt/tsg/tfe/bin/ + cp /usr/lib/debug/opt/tsg/tfe/bin/tfe*debug /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA} sentry-cli upload-dif -t elf /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA} fi |
