TSG-9550 TFE运行CI时同时构建CentOS7/CentOS8运行环境的安装包
This commit is contained in:
206
.gitlab-ci.yml
206
.gitlab-ci.yml
@@ -1,30 +1,53 @@
|
||||
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
|
||||
script:
|
||||
- yum makecache
|
||||
- ./ci/travis.sh
|
||||
tags:
|
||||
- share
|
||||
- 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
|
||||
|
||||
branch_build_debug:
|
||||
.build_by_travis_for_centos7:
|
||||
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:
|
||||
BUILD_TYPE: Debug
|
||||
except:
|
||||
@@ -32,24 +55,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 +82,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 +100,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 +115,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 +130,128 @@ release_build_release:
|
||||
only:
|
||||
- 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:
|
||||
stage: envelope
|
||||
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
|
||||
- chmod +x ./ci/envelope_rpm.sh
|
||||
- ./ci/envelope_rpm.sh
|
||||
artifacts:
|
||||
name: "tfe-pr-$CI_COMMIT_REF_NAME-release"
|
||||
paths:
|
||||
- build/*-pr-*.rpm
|
||||
tags:
|
||||
- envelope
|
||||
only:
|
||||
- tags
|
||||
|
||||
upload_envelope_rpm:
|
||||
|
||||
upload_enveloped_rpm:
|
||||
stage: upload
|
||||
image: $BUILD_IMAGE_CENTOS7
|
||||
variables:
|
||||
PULP3_REPO_NAME: tfe-stable-x86_64.el7
|
||||
PULP3_DIST_NAME: tfe-stable-x86_64.el7
|
||||
PULP3_REPO_NAME_EL7: 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:
|
||||
- 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
|
||||
- chmod +x ./ci/upload_enveloped_rpm.sh
|
||||
- ./ci/upload_enveloped_rpm.sh
|
||||
tags:
|
||||
- share
|
||||
only:
|
||||
- tags
|
||||
- tags
|
||||
@@ -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()
|
||||
|
||||
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 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
|
||||
|
||||
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