summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml208
-rw-r--r--ci/travis.sh2
-rw-r--r--cmake/Package.cmake12
3 files changed, 188 insertions, 34 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5998e2d..1bfb836 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,16 +1,18 @@
-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/
+ BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master"
+ BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
+ INSTALL_DEPENDENCY_LIBRARY: sapp-devel framework_env libpcap libpcap-devel
INSTALL_PREFIX: "/opt/MESA/lib/"
- INSTALL_DEPENDENCY_LIBRARY: sapp-devel framework_env libpcap libpcap-devel
stages:
- build
- test
-google_test:
+google_test_for_centos7:
stage: test
+ image: $BUILD_IMAGE_CENTOS7
script:
- cp -r test/sample_pcap /tmp
- ulimit -c 0
@@ -21,25 +23,75 @@ google_test:
- ldconfig
- cd /tmp
- ./gtest_jump_layer
+ dependencies:
+ - branch_build_debug_for_centos7
+ - branch_build_release_for_centos7
+ - develop_build_debug_for_centos7
+ - develop_build_release_for_centos7
+ - release_build_debug_for_centos7
+ - release_build_release_for_centos7
tags:
- share
-.build_by_travis:
+google_test_for_centos8:
+ stage: test
+ image: $BUILD_IMAGE_CENTOS8
+ script:
+ - cp -r test/sample_pcap /tmp
+ - ulimit -c 0
+ - cp /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer /tmp/
+ - mkdir -p /opt/MESA/lib
+ - cp /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so /opt/MESA/lib/
+ - echo "/opt/MESA/lib" >> /etc/ld.so.conf
+ - ldconfig
+ - cd /tmp
+ - ./gtest_jump_layer
+ dependencies:
+ - branch_build_debug_for_centos8
+ - branch_build_release_for_centos8
+ - develop_build_debug_for_centos8
+ - develop_build_release_for_centos8
+ - release_build_debug_for_centos8
+ - release_build_release_for_centos8
+ tags:
+ - share
+
+.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
+ - sed -i 's/\/8\//\/7\//g' /etc/yum.repos.d/repo.internal.geedge.net.repo
+ - yum makecache
+ - chmod +x ./ci/travis.sh
+ - 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
- - cd build
+ - 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
+
+
+branch_build_debug_for_centos7:
+ stage: build
+ extends: .build_by_travis_for_centos7
variables:
BUILD_TYPE: Debug
artifacts:
@@ -51,11 +103,11 @@ branch_build_debug:
- /^master.*$/i
- tags
-branch_build_release:
+branch_build_release_for_centos7:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
- extends: .build_by_travis
+ extends: .build_by_travis_for_centos7
artifacts:
paths:
- /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer
@@ -65,9 +117,9 @@ branch_build_release:
- /^master.*$/i
- tags
-develop_build_debug:
+develop_build_debug_for_centos7:
stage: build
- extends: .build_by_travis
+ extends: .build_by_travis_for_centos7
variables:
BUILD_TYPE: Debug
PACKAGE: 1
@@ -86,9 +138,9 @@ develop_build_debug:
- /^develop.*$/i
- /^master.*$/i
-develop_build_release:
+develop_build_release_for_centos7:
stage: build
- extends: .build_by_travis
+ extends: .build_by_travis_for_centos7
variables:
BUILD_TYPE: RelWithDebInfo
PACKAGE: 1
@@ -107,7 +159,7 @@ develop_build_release:
- /^develop.*$/i
- /^master.*$/i
-release_build_debug:
+release_build_debug_for_centos7:
stage: build
variables:
BUILD_TYPE: Debug
@@ -115,7 +167,7 @@ release_build_debug:
UPLOAD_RPM: 1
PULP3_REPO_NAME: framework-stable-x86_64.el7
PULP3_DIST_NAME: framework-stable-x86_64.el7
- extends: .build_by_travis
+ extends: .build_by_travis_for_centos7
artifacts:
name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release"
paths:
@@ -125,7 +177,7 @@ release_build_debug:
only:
- tags
-release_build_release:
+release_build_release_for_centos7:
stage: build
variables:
BUILD_TYPE: RelWithDebInfo
@@ -135,7 +187,7 @@ release_build_release:
SYMBOL_TARGET: libMESA_jump_layer
PULP3_REPO_NAME: framework-stable-x86_64.el7
PULP3_DIST_NAME: framework-stable-x86_64.el7
- extends: .build_by_travis
+ extends: .build_by_travis_for_centos7
artifacts:
name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release"
paths:
@@ -144,3 +196,111 @@ release_build_release:
- /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so
only:
- tags
+
+branch_build_debug_for_centos8:
+ stage: build
+ extends: .build_by_travis_for_centos8
+ variables:
+ BUILD_TYPE: Debug
+ artifacts:
+ paths:
+ - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer
+ - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so
+ except:
+ - /^develop.*$/i
+ - /^master.*$/i
+ - tags
+
+branch_build_release_for_centos8:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ extends: .build_by_travis_for_centos8
+ artifacts:
+ paths:
+ - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer
+ - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so
+ except:
+ - /^develop.*$/i
+ - /^master.*$/i
+ - tags
+
+develop_build_debug_for_centos8:
+ stage: build
+ extends: .build_by_travis_for_centos8
+ variables:
+ BUILD_TYPE: Debug
+ PACKAGE: 1
+ UPLOAD_RPM: 1
+ ASAN_OPTION: ADDRESS
+ TESTING_VERSION_BUILD: 1
+ PULP3_REPO_NAME: framework-testing-x86_64.el8
+ PULP3_DIST_NAME: framework-testing-x86_64.el8
+ artifacts:
+ name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-debug"
+ paths:
+ - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer
+ - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so
+ - build/*.rpm
+ only:
+ - /^develop.*$/i
+ - /^master.*$/i
+
+develop_build_release_for_centos8:
+ stage: build
+ extends: .build_by_travis_for_centos8
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ PACKAGE: 1
+ UPLOAD_RPM: 1
+ ASAN_OPTION: "OFF"
+ TESTING_VERSION_BUILD: 1
+ PULP3_REPO_NAME: framework-testing-x86_64.el8
+ PULP3_DIST_NAME: framework-testing-x86_64.el8
+ artifacts:
+ name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer
+ - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so
+ only:
+ - /^develop.*$/i
+ - /^master.*$/i
+
+release_build_debug_for_centos8:
+ stage: build
+ variables:
+ BUILD_TYPE: Debug
+ PACKAGE: 1
+ UPLOAD_RPM: 1
+ PULP3_REPO_NAME: framework-stable-x86_64.el8
+ PULP3_DIST_NAME: framework-stable-x86_64.el8
+ extends: .build_by_travis_for_centos8
+ artifacts:
+ name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer
+ - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so
+ only:
+ - tags
+
+release_build_release_for_centos8:
+ stage: build
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ PACKAGE: 1
+ UPLOAD_RPM: 1
+ UPLOAD_SYMBOL_FILES: 1
+ SYMBOL_TARGET: libMESA_jump_layer
+ PULP3_REPO_NAME: framework-stable-x86_64.el8
+ PULP3_DIST_NAME: framework-stable-x86_64.el8
+ extends: .build_by_travis_for_centos8
+ artifacts:
+ name: libMESA_jump_layer-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*.rpm
+ - /builds/MESA_framework/mesa_jump_layer/build/test/gtest_jump_layer
+ - /builds/MESA_framework/mesa_jump_layer/build/src/libMESA_jump_layer.so
+ only:
+ - tags \ No newline at end of file
diff --git a/ci/travis.sh b/ci/travis.sh
index 3f5379c..72c8d5e 100644
--- a/ci/travis.sh
+++ b/ci/travis.sh
@@ -37,7 +37,7 @@ if [ -n "${INSTALL_DEPENDENCY_LIBRARY}" ]; then
yum install -y $INSTALL_DEPENDENCY_LIBRARY
fi
-if [ $ASAN_OPTION ];then
+if [ $ASAN_OPTION ] && [ -f "/opt/rh/devtoolset-7/enable" ] ;then
source /opt/rh/devtoolset-7/enable
fi
diff --git a/cmake/Package.cmake b/cmake/Package.cmake
index 52cb196..2599354 100644
--- a/cmake/Package.cmake
+++ b/cmake/Package.cmake
@@ -12,7 +12,6 @@ set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}.${VERSION_BUILD}")
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)
# RPM Build
set(CPACK_GENERATOR "RPM")
@@ -29,17 +28,12 @@ set(CPACK_COMPONENT_HEADER_DISPLAY_NAME "develop")
set(CPACK_COMPONENT_LIBRARIES_REQUIRED TRUE)
set(CPACK_RPM_LIBRARIES_PACKAGE_NAME ${MY_RPM_NAME_PREFIX})
-set(CPACK_RPM_LIBRARIES_FILE_NAME "${CPACK_RPM_LIBRARIES_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
-set(CPACK_RPM_LIBRARIES_DEBUGINFO_FILE_NAME "${CPACK_RPM_LIBRARIES_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
-
-set(CPACK_COMPONENT_PROFILE_GROUP "libraries")
-set(CPACK_COMPONENT_LIBRARIES_GROUP "libraries")
+set(CPACK_COMPONENT_PROFILE_GROUP "LIBRARIES")
+set(CPACK_COMPONENT_LIBRARIES_GROUP "LIBRARIES")
set(CPACK_COMPONENT_HEADER_REQUIRED TRUE)
set(CPACK_RPM_HEADER_PACKAGE_NAME "${MY_RPM_NAME_PREFIX}-devel")
-set(CPACK_RPM_HEADER_FILE_NAME "${CPACK_RPM_HEADER_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
-set(CPACK_RPM_HEADER_DEBUGINFO_FILE_NAME "${CPACK_RPM_HEADER_PACKAGE_NAME}-debuginfo-${CPACK_PACKAGE_VERSION}-${SYSTEM_VERSION}.rpm")
-set(CPACK_COMPONENT_HEADER_GROUP "header")
+set(CPACK_COMPONENT_HEADER_GROUP "HEADER")
set(CPACK_RPM_HEADER_PACKAGE_REQUIRES_PRE ${CPACK_RPM_LIBRARIES_PACKAGE_NAME})
set(CPACK_RPM_HEADER_PACKAGE_CONFLICTS ${CPACK_RPM_HEADER_PACKAGE_NAME})