summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuxueli <[email protected]>2020-10-10 14:26:57 +0800
committerliuxueli <[email protected]>2020-10-10 14:26:57 +0800
commit12189ac3723b7c8810635506f35893e3d13c2677 (patch)
treee51d00652d42a9d4b76f50ef40e5a50336881b0c
parent810857dc122186006d158160a92a6c9103a8e332 (diff)
增加changelog;编译时增加ASAN选项;生成二进制版本号;上传debuginfo至sentry
-rw-r--r--.gitlab-ci.yml30
-rw-r--r--ci/travis.sh7
-rw-r--r--cmake/Package.cmake4
-rw-r--r--cmake/Version.cmake21
-rw-r--r--cmake/changelog.sh4
-rw-r--r--cmake/preInstall.sh2
6 files changed, 49 insertions, 19 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5d61707..7120b8b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,7 +3,7 @@ variables:
GIT_STRATEGY: "clone"
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_PREFIX: "/opt/MESA/lib/"
- INSTALL_DEPENDENCY_LIBRARY: libMESA_handle_logger-devel libcjson-devel libMESA_field_stat2-devel sapp-devel framework_env libMESA_prof_load-devel sapp-devel openssl-devel
+ INSTALL_DEPENDENCY_LIBRARY: libMESA_handle_logger-devel libcjson-devel libMESA_field_stat2-devel sapp-devel framework_env libMESA_prof_load-devel sapp-devel openssl-devel libasan
stages:
- build
@@ -47,6 +47,11 @@ develop_build_debug:
variables:
BUILD_TYPE: Debug
PACKAGE: 1
+ UPLOAD_RPM: 1
+ ASAN_OPTION: ADDRESS
+ TESTING_VERSION_BUILD: 1
+ PULP3_REPO_NAME: protocol-testing-x86_64.el7
+ PULP3_DIST_NAME: protocol-testing-x86_64.el7
artifacts:
name: "quic-$CI_COMMIT_REF_NAME-debug"
paths:
@@ -61,6 +66,11 @@ develop_build_release:
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
+ UPLOAD_RPM: 1
+ ASAN_OPTION: ADDRESS
+ TESTING_VERSION_BUILD: 1
+ PULP3_REPO_NAME: protocol-testing-x86_64.el7
+ PULP3_DIST_NAME: protocol-testing-x86_64.el7
artifacts:
name: "quic-$CI_COMMIT_REF_NAME-release"
paths:
@@ -69,13 +79,29 @@ develop_build_release:
- /^develop.*$/i
- /^master.*$/i
+release_build_debug:
+ stage: build
+ variables:
+ BUILD_TYPE: Debug
+ PACKAGE: 1
+ UPLOAD_RPM: 1
+ PULP3_REPO_NAME: protocol-stable-x86_64.el7
+ PULP3_DIST_NAME: protocol-stable-x86_64.el7
+ extends: .build_by_travis
+ artifacts:
+ name: "quic-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ only:
+ - tags
release_build_release:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
- UPLOAD: 1
+ UPLOAD_RPM: 1
+ UPLOAD_SYMBOL_FILES: 1
SYMBOL_TARGET: quic
PULP3_REPO_NAME: protocol-stable-x86_64.el7
PULP3_DIST_NAME: protocol-stable-x86_64.el7
diff --git a/ci/travis.sh b/ci/travis.sh
index ccfe6b2..56f0553 100644
--- a/ci/travis.sh
+++ b/ci/travis.sh
@@ -43,7 +43,8 @@ cd build
cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
- -DENABLE_DEVEL=$ENABLE_DEVEL_SWITCH \
+ -DASAN_OPTION=$ASAN_OPTION \
+ -DVERSION_DAILY_BUILD=$TESTING_VERSION_BUILD \
..
make
@@ -52,10 +53,12 @@ if [ -n "${PACKAGE}" ]; then
make package
fi
-if [ -n "${UPLOAD}" ]; then
+if [ -n "${UPLOAD_RPM}" ]; 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 $SYMBOL_TARGET*debuginfo*.rpm
_symbol_file=`find /usr/lib/debug/ -name "$SYMBOL_TARGET*.so*.debug"`
cp $_symbol_file ${_symbol_file}info.${CI_COMMIT_SHORT_SHA}
diff --git a/cmake/Package.cmake b/cmake/Package.cmake
index d0b19e4..b4746dd 100644
--- a/cmake/Package.cmake
+++ b/cmake/Package.cmake
@@ -14,8 +14,8 @@ set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
set(CPACK_PACKAGE_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}.${VERSION_BUILD}")
execute_process(COMMAND bash -c "echo -ne \"`uname -r | awk -F'.' '{print $5\".\"$6\".\"$7}'`\"" OUTPUT_VARIABLE SYSTEM_VERSION)
-execute_process(COMMAND sh changelog.sh WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/cmake)
-SET(CPACK_RPM_CHANGELOG_FILE ${PROJECT_SOURCE_DIR}/cmake/changelog.txt)
+execute_process(COMMAND sh changelog.sh ${CMAKE_BINARY_DIR} WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/cmake)
+SET(CPACK_RPM_CHANGELOG_FILE ${CMAKE_BINARY_DIR}/changelog.txt)
# RPM Build
set(CPACK_GENERATOR "RPM")
diff --git a/cmake/Version.cmake b/cmake/Version.cmake
index 24bfa5e..9b05d0b 100644
--- a/cmake/Version.cmake
+++ b/cmake/Version.cmake
@@ -1,7 +1,7 @@
# Using autorevision.sh to generate version information
-set(__SOURCE_AUTORESIVISION ${CMAKE_SOURCE_DIR}/cmake/autorevision.sh)
+set(__SOURCE_AUTORESIVISION ${CMAKE_SOURCE_DIR}/autorevision.sh)
set(__AUTORESIVISION ${CMAKE_BINARY_DIR}/autorevision.sh)
set(__VERSION_CACHE ${CMAKE_SOURCE_DIR}/version.txt)
set(__VERSION_CONFIG ${CMAKE_BINARY_DIR}/version.cmake)
@@ -19,6 +19,11 @@ include(${__VERSION_CONFIG})
string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" VERSION_MAJOR "${VCS_TAG}")
string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${VCS_TAG}")
string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" VERSION_PATCH "${VCS_TAG}")
+string(REGEX REPLACE "[T\\:\\+\\-]" "" VERSION_DATE "${VCS_DATE}")
+
+if(VERSION_DAILY_BUILD)
+ set(VERSION_PATCH ${VERSION_PATCH}.${VERSION_DATE})
+endif()
if(NOT VERSION_MAJOR)
set(VERSION_MAJOR 1)
@@ -38,16 +43,12 @@ set(VERSION_BUILD "${VCS_SHORT_HASH}")
# print information
message(STATUS "Version: ${VERSION}-${VERSION_BUILD}")
-if(NOT DEFINE_GIT_VERSION)
- option(DEFINE_GIT_VERSION "Set DEFINE_GIT_VERSION to OFF" OFF)
-
-set(GIT_VERSION
- "${VERSION}-${CMAKE_BUILD_TYPE}-${VERSION_BUILD}-${VCS_BRANCH}-${VCS_TAG}-${VCS_DATE}")
-string(REGEX REPLACE "[-:+/\\.]" "_" GIT_VERSION ${GIT_VERSION})
+option(DEFINE_GIT_VERSION "Set DEFINE_GIT_VERSION to TRUE or FALSE" TRUE)
if(DEFINE_GIT_VERSION)
- add_definitions(-DGIT_VERSION=${GIT_VERSION})
- option(DEFINE_GIT_VERSION "Set DEFINE_GIT_VERSION to OFF" ON)
-endif()
+ set(GIT_VERSION
+ "${VERSION}-${CMAKE_BUILD_TYPE}-${VERSION_BUILD}-${VCS_BRANCH}-${VCS_TAG}-${VCS_DATE}")
+ string(REGEX REPLACE "[-:+/\\.]" "_" GIT_VERSION ${GIT_VERSION})
+ add_definitions(-DGIT_VERSION=${GIT_VERSION})
endif()
diff --git a/cmake/changelog.sh b/cmake/changelog.sh
index 7d8bf7f..67f995f 100644
--- a/cmake/changelog.sh
+++ b/cmake/changelog.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-
+work_path=$1
branch=`git status | grep branch | awk '{print $NF}'`
-git log --branches=$branch --no-merges --date=local --show-signature --pretty="* %ad %an %ae %nhash: %H%ncommit:%n%B" | awk -F"-" '{print "- "$0}' | sed 's/- \*/\*/g' | sed 's/- $//g' | sed 's/-/ -/g' | sed 's/[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//g' > changelog.txt
+git log --branches=$branch --no-merges --date=local --show-signature --pretty="* %ad %an %ae %nhash: %H%ncommit:%n%B" | awk -F"-" '{print "- "$0}' | sed 's/- \*/\*/g' | sed 's/- $//g' | sed 's/-/ -/g' | sed 's/[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//g' > $work_path/changelog.txt
diff --git a/cmake/preInstall.sh b/cmake/preInstall.sh
index 765e889..d060bc9 100644
--- a/cmake/preInstall.sh
+++ b/cmake/preInstall.sh
@@ -4,7 +4,7 @@ DST=${RPM_INSTALL_PREFIX}
mkdir -p ${DST}/plug/protocol/
touch ${DST}/plug/conflist.inf
-mkdir ${DST}/etc/
+mkdir -p ${DST}/etc/
touch ${DST}/etc/entrylist.conf
if [[ -z `grep -rn 'quic.inf' ${DST}/plug/conflist.inf` ]];then