TSG-9550 TFE运行CI时同时构建CentOS7/CentOS8运行环境的安装包
This commit is contained in:
202
.gitlab-ci.yml
202
.gitlab-ci.yml
@@ -1,30 +1,53 @@
|
|||||||
image: "git.mesalab.cn:7443/mesa_platform/build-env:master"
|
|
||||||
variables:
|
variables:
|
||||||
GIT_STRATEGY: "clone"
|
GIT_STRATEGY: "clone"
|
||||||
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
|
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
|
||||||
INSTALL_PREFIX: "/opt/tsg/tfe"
|
INSTALL_PREFIX: "/opt/tsg/tfe"
|
||||||
TESTING_VERSION_BUILD: 0
|
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:
|
stages:
|
||||||
- build
|
- build
|
||||||
- envelope
|
- envelope
|
||||||
- upload
|
- upload
|
||||||
|
|
||||||
.build_by_travis:
|
.build_before_script:
|
||||||
before_script:
|
before_script:
|
||||||
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
|
- mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
|
||||||
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
||||||
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
|
||||||
- chmod +x ./ci/travis.sh
|
- chmod +x ./ci/travis.sh
|
||||||
script:
|
- yum makecache
|
||||||
- yum makecache
|
- yum install -y elfutils-libelf-devel
|
||||||
- ./ci/travis.sh
|
|
||||||
tags:
|
|
||||||
- share
|
|
||||||
|
|
||||||
branch_build_debug:
|
.build_by_travis_for_centos7:
|
||||||
stage: build
|
stage: build
|
||||||
extends: .build_by_travis
|
image: $BUILD_IMAGE_CENTOS7
|
||||||
|
extends: .build_before_script
|
||||||
|
script:
|
||||||
|
- yum install -y libmnl-devel
|
||||||
|
- yum install -y libnfnetlink-devel
|
||||||
|
- ./ci/travis.sh
|
||||||
|
tags:
|
||||||
|
- share
|
||||||
|
|
||||||
|
.build_by_travis_for_centos8:
|
||||||
|
stage: build
|
||||||
|
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
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# compile use image: build-env:master
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
branch_build_debug_for_centos7:
|
||||||
|
extends: .build_by_travis_for_centos7
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
except:
|
except:
|
||||||
@@ -32,24 +55,22 @@ branch_build_debug:
|
|||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
branch_build_release:
|
branch_build_release_for_centos7:
|
||||||
stage: build
|
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: RelWithDebInfo
|
BUILD_TYPE: RelWithDebInfo
|
||||||
extends: .build_by_travis
|
extends: .build_by_travis_for_centos7
|
||||||
except:
|
except:
|
||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
develop_build_debug:
|
develop_build_debug_for_centos7:
|
||||||
stage: build
|
extends: .build_by_travis_for_centos7
|
||||||
extends: .build_by_travis
|
|
||||||
variables:
|
variables:
|
||||||
TESTING_VERSION_BUILD: 1
|
TESTING_VERSION_BUILD: 1
|
||||||
UPLOAD_SYMBOL_FILES: 1
|
UPLOAD_SYMBOL_FILES: 1
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
ASAN_OPTION: ADDRESS
|
# ASAN_OPTION: ADDRESS
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
PULP3_REPO_NAME: tfe-testing-x86_64.el7
|
PULP3_REPO_NAME: tfe-testing-x86_64.el7
|
||||||
PULP3_DIST_NAME: tfe-testing-x86_64.el7
|
PULP3_DIST_NAME: tfe-testing-x86_64.el7
|
||||||
@@ -61,13 +82,12 @@ develop_build_debug:
|
|||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
|
|
||||||
develop_build_release:
|
develop_build_release_for_centos7:
|
||||||
stage: build
|
extends: .build_by_travis_for_centos7
|
||||||
extends: .build_by_travis
|
|
||||||
variables:
|
variables:
|
||||||
TESTING_VERSION_BUILD: 1
|
TESTING_VERSION_BUILD: 1
|
||||||
UPLOAD_SYMBOL_FILES: 1
|
UPLOAD_SYMBOL_FILES: 1
|
||||||
# ASAN_OPTION: ADDRESS
|
# ASAN_OPTION: ADDRESS
|
||||||
BUILD_TYPE: RelWithDebInfo
|
BUILD_TYPE: RelWithDebInfo
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
PULP3_REPO_NAME: tfe-testing-x86_64.el7
|
PULP3_REPO_NAME: tfe-testing-x86_64.el7
|
||||||
@@ -80,15 +100,14 @@ develop_build_release:
|
|||||||
- /^develop-.*$/i
|
- /^develop-.*$/i
|
||||||
- /^release-.*$/i
|
- /^release-.*$/i
|
||||||
|
|
||||||
release_build_debug:
|
release_build_debug_for_centos7:
|
||||||
stage: build
|
|
||||||
variables:
|
variables:
|
||||||
UPLOAD_SYMBOL_FILES: 1
|
UPLOAD_SYMBOL_FILES: 1
|
||||||
BUILD_TYPE: Debug
|
BUILD_TYPE: Debug
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
PULP3_REPO_NAME: tfe-stable-x86_64.el7
|
PULP3_REPO_NAME: tfe-stable-x86_64.el7
|
||||||
PULP3_DIST_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:
|
artifacts:
|
||||||
name: "tfe-install-$CI_COMMIT_REF_NAME-debug"
|
name: "tfe-install-$CI_COMMIT_REF_NAME-debug"
|
||||||
paths:
|
paths:
|
||||||
@@ -96,15 +115,14 @@ release_build_debug:
|
|||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
release_build_release:
|
release_build_release_for_centos7:
|
||||||
stage: build
|
|
||||||
variables:
|
variables:
|
||||||
BUILD_TYPE: RelWithDebInfo
|
BUILD_TYPE: RelWithDebInfo
|
||||||
UPLOAD_SYMBOL_FILES: 1
|
UPLOAD_SYMBOL_FILES: 1
|
||||||
PACKAGE: 1
|
PACKAGE: 1
|
||||||
PULP3_REPO_NAME: tfe-stable-x86_64.el7
|
PULP3_REPO_NAME: tfe-stable-x86_64.el7
|
||||||
PULP3_DIST_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:
|
artifacts:
|
||||||
name: "tfe-install-$CI_COMMIT_REF_NAME-release"
|
name: "tfe-install-$CI_COMMIT_REF_NAME-release"
|
||||||
paths:
|
paths:
|
||||||
@@ -112,35 +130,127 @@ release_build_release:
|
|||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 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-develop-$CI_COMMIT_REF_NAME-debug"
|
||||||
|
paths:
|
||||||
|
- 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
|
||||||
|
|
||||||
|
release_build_release_for_centos8:
|
||||||
|
variables:
|
||||||
|
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 and upload
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
envelope_rpm:
|
envelope_rpm:
|
||||||
stage: envelope
|
stage: envelope
|
||||||
|
image: $BUILD_IMAGE_CENTOS7
|
||||||
variables:
|
variables:
|
||||||
FEATURE_ID: 100
|
FEATURE_ID: 100
|
||||||
APP_NAME_IN_RPM_SPEC: tfe
|
APP_NAME_IN_RPM_SPEC: tfe
|
||||||
script:
|
script:
|
||||||
- export RPM_FULL_PATH=`ls $CI_PROJECT_DIR/build/*.rpm | grep -v debug | grep -v debuginfo | grep -v devel | head -n 1`
|
- chmod +x ./ci/envelope_rpm.sh
|
||||||
- export BIN_TO_PROTECT_IN_RPM="${INSTALL_PREFIX}/bin/tfe"
|
- ./ci/envelope_rpm.sh
|
||||||
- /root/rebuildrpm_and_envelope.sh $RPM_FULL_PATH $BIN_TO_PROTECT_IN_RPM $FEATURE_ID $APP_NAME_IN_RPM_SPEC
|
|
||||||
tags:
|
|
||||||
- envelope
|
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "tfe-pr-$CI_COMMIT_REF_NAME-release"
|
name: "tfe-pr-$CI_COMMIT_REF_NAME-release"
|
||||||
paths:
|
paths:
|
||||||
- build/*-pr-*.rpm
|
- build/*-pr-*.rpm
|
||||||
|
tags:
|
||||||
|
- envelope
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
upload_envelope_rpm:
|
upload_enveloped_rpm:
|
||||||
stage: upload
|
stage: upload
|
||||||
|
image: $BUILD_IMAGE_CENTOS7
|
||||||
variables:
|
variables:
|
||||||
PULP3_REPO_NAME: tfe-stable-x86_64.el7
|
PULP3_REPO_NAME_EL7: tfe-stable-x86_64.el7
|
||||||
PULP3_DIST_NAME: tfe-stable-x86_64.el7
|
PULP3_DIST_NAME_EL7: tfe-stable-x86_64.el7
|
||||||
|
PULP3_REPO_NAME_EL8: tfe-stable-x86_64.el8
|
||||||
|
PULP3_DIST_NAME_EL8: tfe-stable-x86_64.el8
|
||||||
script:
|
script:
|
||||||
- cd $CI_PROJECT_DIR/build/
|
- chmod +x ./ci/upload_enveloped_rpm.sh
|
||||||
- ls -ahl *.rpm
|
- ./ci/upload_enveloped_rpm.sh
|
||||||
- cp ~/rpm_upload_tools.py ./
|
|
||||||
- python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *-pr-*.rpm
|
|
||||||
- rm -rf *.rpm
|
|
||||||
tags:
|
tags:
|
||||||
- share
|
- share
|
||||||
only:
|
only:
|
||||||
|
|||||||
@@ -56,6 +56,8 @@ elseif(ENABLE_SANITIZE_THREAD)
|
|||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lasan")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lelf")
|
||||||
|
|
||||||
if(ENABLE_SANITIZE_ADDRESS AND ENABLE_SANITIZE_THREAD)
|
if(ENABLE_SANITIZE_ADDRESS AND ENABLE_SANITIZE_THREAD)
|
||||||
message(WARNING "Both ENABLE_SANITIZE_ADDRESS and ENABLE_SANITIZE_THREAD set, only ENABLE_SANITIZE_ADDRESS effected.")
|
message(WARNING "Both ENABLE_SANITIZE_ADDRESS and ENABLE_SANITIZE_THREAD set, only ENABLE_SANITIZE_ADDRESS effected.")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
13
ci/envelope_rpm.sh
Normal file
13
ci/envelope_rpm.sh
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
ls $CI_PROJECT_DIR/build/*.rpm
|
||||||
|
|
||||||
|
BIN_TO_PROTECT_IN_RPM="${INSTALL_PREFIX}/bin/tfe"
|
||||||
|
RPMS_FULL_PATH=`ls $CI_PROJECT_DIR/build/*.rpm | grep -v debug | grep -v devel`
|
||||||
|
echo "RPMS_TO_BE_ENVELOPE: " $RPMS_FULL_PATH
|
||||||
|
|
||||||
|
for RPM in ${RPMS_FULL_PATH[@]}
|
||||||
|
do
|
||||||
|
echo "ENVELOPE: " $RPM
|
||||||
|
/root/rebuildrpm_and_envelope.sh $RPM $BIN_TO_PROTECT_IN_RPM $FEATURE_ID $APP_NAME_IN_RPM_SPEC
|
||||||
|
done
|
||||||
@@ -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 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 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 libasan
|
||||||
yum install -y libmnl-devel libnfnetlink-devel
|
|
||||||
|
|
||||||
if [ $ASAN_OPTION ];then
|
if [ $ASAN_OPTION ];then
|
||||||
source /opt/rh/devtoolset-7/enable
|
source /opt/rh/devtoolset-7/enable
|
||||||
@@ -64,6 +63,7 @@ fi
|
|||||||
|
|
||||||
if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
|
if [ -n "${UPLOAD_SYMBOL_FILES}" ]; then
|
||||||
rpm -i tfe*debuginfo*.rpm
|
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}
|
sentry-cli upload-dif -t elf /tmp/tfe.debuginfo.${CI_COMMIT_SHORT_SHA}
|
||||||
fi
|
fi
|
||||||
|
|||||||
23
ci/upload_enveloped_rpm.sh
Normal file
23
ci/upload_enveloped_rpm.sh
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
cd $CI_PROJECT_DIR/build/
|
||||||
|
cp ~/rpm_upload_tools.py ./
|
||||||
|
|
||||||
|
ls -ahl *.rpm
|
||||||
|
|
||||||
|
RPM_IS_EL7=`ls -ahl *-pr-*.rpm | grep el7 | wc -l`
|
||||||
|
RPM_IS_EL8=`ls -ahl *-pr-*.rpm | grep el8 | wc -l`
|
||||||
|
|
||||||
|
if [ $RPM_IS_EL7 -eq 1 ]
|
||||||
|
then
|
||||||
|
echo "====== Upload the packed RPM package for CentOS7 ======"
|
||||||
|
python3 rpm_upload_tools.py ${PULP3_REPO_NAME_EL7} ${PULP3_DIST_NAME_EL7} *-pr-*el7*.rpm
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $RPM_IS_EL8 -eq 1 ]
|
||||||
|
then
|
||||||
|
echo "====== Upload the packed RPM package for CentOS8 ======"
|
||||||
|
python3 rpm_upload_tools.py ${PULP3_REPO_NAME_EL8} ${PULP3_DIST_NAME_EL8} *-pr-*el8*.rpm
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf *.rpm
|
||||||
Reference in New Issue
Block a user