diff options
Diffstat (limited to '.gitlab-ci.yml')
| -rw-r--r-- | .gitlab-ci.yml | 226 |
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 |
