summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml226
1 files changed, 171 insertions, 55 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6cf2ad0..e44570c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,9 +2,13 @@ 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/stellar"
- INSTALL_DEPENDENCY_LIBRARY: mrzcpd-corei7 framework_env libfieldstat4-devel
+ INSTALL_DEPENDENCY_LIBRARY: framework_env libfieldstat4-devel
+ MRZCPD: mrzcpd-corei7
TESTING_VERSION_BUILD: 0
- BUILD_IMAGE_ROCKYLINUX: "git.mesalab.cn:7443/mesa_platform/build-env:rocky8-for-stellar"
+ BUILD_IMAGE_X86_64_ROCKY8: "git.mesalab.cn:7443/mesa_platform/build-env:rocky8-for-stellar"
+ BUILD_IMAGE_AARCH64_ROCKY9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64"
+
+
stages:
- cppcheck
@@ -17,10 +21,9 @@ stages:
- ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
- yum makecache --disablerepo="*" --enablerepo="framework,platform"
- - yum install -y $INSTALL_DEPENDENCY_LIBRARY
+ - yum install -y $INSTALL_DEPENDENCY_LIBRARY $MRZCPD
- source /etc/profile.d/mrzcpd.sh
- source /etc/profile.d/framework.sh
- - chmod +x ./ci/travis.sh
###############################################################################
# cppcheck
@@ -52,31 +55,48 @@ stages:
--suppress=unreachableCode
--suppress=internalAstError
--suppress=integerOverflow
+ --suppress=*:${CI_PROJECT_DIR}/deps/*
--suppress=*:${CI_PROJECT_DIR}/infra/monitor/stellar-dump/*
- --suppress=*:${CI_PROJECT_DIR}/deps/yyjson/*
- --suppress=*:${CI_PROJECT_DIR}/deps/mpack/*
+ --suppress=*:${CI_PROJECT_DIR}/decoders/lpi_plus/libprotoident/*
+
+
+run_cppcheck_for_x86_64_rocky8:
+ extends: .cppcheck_script
+ image: $BUILD_IMAGE_X86_64_ROCKY8
tags:
- - share
+ - tsg-os-builder-el8
-run_cppcheck_for_rockylinux:
+run_cppcheck_for_aarch64_rocky9:
extends: .cppcheck_script
- image: $BUILD_IMAGE_ROCKYLINUX
-
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
+ tags:
+ - tsg-os-builder-aarch64
###############################################################################
# build
###############################################################################
-.build_by_travis_for_rockylinux:
- image: $BUILD_IMAGE_ROCKYLINUX
+.build_before_script:
+ stage: build
before_script: *everything_before_script
script:
- - ./ci/travis.sh
+ - mkdir build || true
+ - cd build
+ - >
+ cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS
+ -DCMAKE_BUILD_TYPE=$BUILD_TYPE
+ -DASAN_OPTION=$ASAN_OPTION
+ -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX
+ -DVERSION_DAILY_BUILD=$TESTING_VERSION_BUILD ..
+ - make -j4 VERBOSE=1
+
+.build_for_x86_64_rocky8:
+ image: $BUILD_IMAGE_X86_64_ROCKY8
+ extends: .build_before_script
tags:
- - share
+ - tsg-os-builder-el8
-branch_build_debug_for_rockylinux:
- stage: build
- extends: .build_by_travis_for_rockylinux
+branch_build_debug_for_x86_64_rocky8:
+ extends: .build_for_x86_64_rocky8
variables:
BUILD_TYPE: Debug
except:
@@ -84,19 +104,21 @@ branch_build_debug_for_rockylinux:
- /^release-.*$/i
- tags
-branch_build_release_for_rockylinux:
- stage: build
+branch_build_release_for_x86_64_rocky8:
+ extends: .build_for_x86_64_rocky8
variables:
BUILD_TYPE: RelWithDebInfo
- extends: .build_by_travis_for_rockylinux
+ artifacts:
+ name: "stellar-branch_build-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*
except:
- /^develop-.*$/i
- /^release-.*$/i
- tags
-develop_build_debug_for_rockylinux:
- stage: build
- extends: .build_by_travis_for_rockylinux
+develop_build_debug_for_x86_64_rocky8:
+ extends: .build_for_x86_64_rocky8
variables:
TESTING_VERSION_BUILD: 1
BUILD_TYPE: Debug
@@ -105,78 +127,172 @@ develop_build_debug_for_rockylinux:
- /^develop-.*$/i
- /^release-.*$/i
-develop_build_release_for_rockylinux:
- stage: build
- extends: .build_by_travis_for_rockylinux
+develop_build_release_for_x86_64_rocky8:
+ extends: .build_for_x86_64_rocky8
variables:
TESTING_VERSION_BUILD: 1
BUILD_TYPE: RelWithDebInfo
#ASAN_OPTION: ADDRESS
+ artifacts:
+ name: "stellar-develop_build-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*
only:
- /^develop-.*$/i
- /^release-.*$/i
-release_build_debug_for_rockylinux:
- stage: build
+release_build_debug_for_x86_64_rocky8:
+ extends: .build_for_x86_64_rocky8
variables:
BUILD_TYPE: Debug
- extends: .build_by_travis_for_rockylinux
only:
- tags
-release_build_release_for_rockylinux:
- stage: build
+release_build_release_for_x86_64_rocky8:
+ extends: .build_for_x86_64_rocky8
variables:
BUILD_TYPE: RelWithDebInfo
- extends: .build_by_travis_for_rockylinux
artifacts:
- name: "stellar-install-$CI_COMMIT_REF_NAME-release"
+ name: "stellar-release_build-$CI_COMMIT_REF_NAME-release"
paths:
- - build/infra/*.rpm
+ - build/*
+ only:
+ - tags
+
+.build_for_aarch64_rocky9:
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
+ extends: .build_before_script
+ variables:
+ MRZCPD: mrzcpd
+ tags:
+ - tsg-os-builder-aarch64
+
+branch_build_debug_for_aarch64_rocky9:
+ extends: .build_for_aarch64_rocky9
+ variables:
+ BUILD_TYPE: Debug
+ except:
+ - /^develop-.*$/i
+ - /^release-.*$/i
+ - tags
+
+branch_build_release_for_aarch64_rocky9:
+ extends: .build_for_aarch64_rocky9
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ artifacts:
+ name: "stellar-branch_build-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*
+ except:
+ - /^develop-.*$/i
+ - /^release-.*$/i
+ - tags
+
+develop_build_debug_for_aarch64_rocky9:
+ extends: .build_for_aarch64_rocky9
+ variables:
+ TESTING_VERSION_BUILD: 1
+ BUILD_TYPE: Debug
+ #ASAN_OPTION: ADDRESS
+ only:
+ - /^develop-.*$/i
+ - /^release-.*$/i
+
+develop_build_release_for_aarch64_rocky9:
+ extends: .build_for_aarch64_rocky9
+ variables:
+ TESTING_VERSION_BUILD: 1
+ BUILD_TYPE: RelWithDebInfo
+ #ASAN_OPTION: ADDRESS
+ artifacts:
+ name: "stellar-develop_build-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*
+ only:
+ - /^develop-.*$/i
+ - /^release-.*$/i
+
+release_build_debug_for_aarch64_rocky9:
+ extends: .build_for_aarch64_rocky9
+ variables:
+ BUILD_TYPE: Debug
+ only:
+ - tags
+
+release_build_release_for_aarch64_rocky9:
+ extends: .build_for_aarch64_rocky9
+ variables:
+ BUILD_TYPE: RelWithDebInfo
+ artifacts:
+ name: "stellar-release_build-$CI_COMMIT_REF_NAME-release"
+ paths:
+ - build/*
only:
- tags
###############################################################################
# test
###############################################################################
-test_in_rockylinux:
+.setup_test_env:
stage: test
- image: $BUILD_IMAGE_ROCKYLINUX
- extends: .build_by_travis_for_rockylinux
- variables:
- BUILD_TYPE: Debug
- ASAN_OPTION: ADDRESS
allow_failure: false
+ before_script:
+ - *everything_before_script
script:
- - ./ci/travis.sh
- cd build; ctest -V
+
+test_for_x86_64_rocky8:
+ extends: .setup_test_env
+ image: $BUILD_IMAGE_X86_64_ROCKY8
+ dependencies:
+ - branch_build_release_for_x86_64_rocky8
+ - develop_build_release_for_x86_64_rocky8
+ - release_build_release_for_x86_64_rocky8
+ tags:
+ - tsg-os-builder-el8
+
+test_for_aarch64_rocky9:
+ extends: .setup_test_env
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
dependencies:
- - branch_build_release_for_rockylinux
- - develop_build_release_for_rockylinux
- - release_build_release_for_rockylinux
+ - branch_build_release_for_aarch64_rocky9
+ - develop_build_release_for_aarch64_rocky9
+ - release_build_release_for_aarch64_rocky9
tags:
- - share
+ - tsg-os-builder-aarch64
###############################################################################
# upload
###############################################################################
-.define_before_upload_rockylinux:
+.define_before_upload:
stage: upload
- image: $BUILD_IMAGE_ROCKYLINUX
before_script:
- pwd; ls -l ; cd build ; ls -l
- cp /root/rpm_upload_tools.py ./
+ script:
+ - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm
+ only:
+ - tags
+
+rpm_upload_for_x86_64_rocky8:
+ extends: .define_before_upload
+ image: $BUILD_IMAGE_X86_64_ROCKY8
variables:
PULP3_REPO_NAME: stellar-stable-x86_64.el8
PULP3_DIST_NAME: stellar-stable-x86_64.el8
- only:
- - tags
+ dependencies:
+ - release_build_release_for_x86_64_rocky8
tags:
- - share
+ - tsg-os-builder-el8
-rpm_upload_for_rockylinux:
- extends: .define_before_upload_rockylinux
+rpm_upload_for_aarch64_rocky9:
+ extends: .define_before_upload
+ image: $BUILD_IMAGE_AARCH64_ROCKY9
+ variables:
+ PULP3_REPO_NAME: stellar-stable-aarch64.el9
+ PULP3_DIST_NAME: stellar-stable-aarch64.el9
dependencies:
- - release_build_release_for_rockylinux
- script:
- - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm \ No newline at end of file
+ - release_build_release_for_aarch64_rocky9
+ tags:
+ - tsg-os-builder-aarch64 \ No newline at end of file