diff options
| author | yangwei <[email protected]> | 2023-11-10 16:14:34 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2023-11-10 16:34:04 +0800 |
| commit | c531caa1cf56605242da3365fef07935c64bf2b7 (patch) | |
| tree | 31837e2f1f5501645e057c7d007db58f27b5c72e | |
| parent | 2b47c81e973920245e1f21acbe0d35111e5acbe1 (diff) | |
🐎 ci(add gitlab ci): init add gitlab-ci.yml
| -rw-r--r-- | .gitlab-ci.yml | 213 | ||||
| -rw-r--r-- | ci/travis.sh | 16 | ||||
| -rw-r--r-- | cmake/Package.cmake | 4 |
3 files changed, 215 insertions, 18 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..2c55cb1 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,213 @@ +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:centos7-for-sapp" + BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rocky8-for-sapp" + INSTALL_DEPENDENCY_LIBRARY: + libMESA_htable-devel libMESA_handle_logger-devel libMESA_prof_load-devel libMESA_field_stat2-devel + sapp sapp-devel libcjson-devel libbreakpad_mini-devel libMESA_htable-devel libMESA_jump_layer framework_env libasan + SYMBOL_TARGET: stellar-c + TEST_NAME: gtest_stellar-c + INSTALL_PREFIX: "/opt/tsg/" + +stages: +- cppcheck +- build +#- test +- upload + +.everything_before_script: &everything_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 + - yum makecache --disablerepo="*" --enablerepo="framework,platform" + - yum install -y $INSTALL_DEPENDENCY_LIBRARY + - source /etc/profile.d/framework.sh +############################################################################### +# cppcheck +############################################################################### +.cppcheck_script: + variables: + BUILD_TYPE: Debug + stage: cppcheck + script: + - mkdir build; cd build; cmake3 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. + - > + cppcheck --project=compile_commands.json + --enable=all + --error-exitcode=1 + --suppress=unusedFunction + --suppress=missingInclude + --suppress=uselessAssignmentPtrArg + --suppress=unmatchedSuppression + --suppress=variableScope + --suppress=unreadVariable + --suppress=cstyleCast + --suppress=memleakOnRealloc + --suppress=constParameter + --suppress=uselessAssignmentArg + --suppress=uninitvar + --suppress=unusedStructMember + tags: + - share + +run_cppcheck_for_centos7: + extends: .cppcheck_script + image: $BUILD_IMAGE_CENTOS7 + +run_cppcheck_for_centos8: + extends: .cppcheck_script + image: $BUILD_IMAGE_CENTOS8 + +############################################################################### +# build +############################################################################### + +.build_before_script: + before_script: *everything_before_script + script: + - ./ci/travis.sh + variables: + BUILD_TEST: "ON" + BUILD_TYPE: Debug + tags: + - share + +.build_by_travis_for_centos7: + extends: .build_before_script + stage: build + image: $BUILD_IMAGE_CENTOS7 + + +develop_build_for_centos7: + extends: .build_by_travis_for_centos7 + variables: + BUILD_TYPE: RelWithDebInfo + artifacts: + name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-debug" + paths: + - build/* + except: + - tags + +release_build_debug_for_centos7: + extends: .build_by_travis_for_centos7 + variables: + BUILD_TYPE: Debug + PACKAGE: 1 + ASAN_OPTION: "ADDRESS" + script: + - source /opt/rh/devtoolset-7/enable || true + - ./ci/travis.sh + artifacts: + name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release" + paths: + - build/* + only: + - tags + +release_build_for_centos7: + extends: .build_by_travis_for_centos7 + variables: + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + artifacts: + name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release" + paths: + - build/* + only: + - tags + +.build_by_travis_for_centos8: + stage: build + image: $BUILD_IMAGE_CENTOS8 + extends: .build_before_script + +develop_build_for_centos8: + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: RelWithDebInfo + artifacts: + name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-debug" + paths: + - build/* + except: + - tags + +release_build_debug_for_centos8: + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: Debug + PACKAGE: 1 + ASAN_OPTION: "ADDRESS" + artifacts: + name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release" + paths: + - build/* + only: + - tags + +release_build_for_centos8: + extends: .build_by_travis_for_centos8 + variables: + BUILD_TYPE: RelWithDebInfo + PACKAGE: 1 + artifacts: + name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release" + paths: + - build/* + only: + - tags + +############################################################################### +# test +############################################################################### + + +############################################################################### +# upload +############################################################################### +.define_before_upload_centos7: + stage: upload + image: $BUILD_IMAGE_CENTOS7 + before_script: + - pwd; ls -l ; cd build ; ls -l + - cp /root/rpm_upload_tools.py ./ + variables: + PULP3_REPO_NAME: stellar-stable-x86_64.el7 + PULP3_DIST_NAME: stellar-stable-x86_64.el7 + only: + - tags + tags: + - share + +rpm_upload_for_centos7: + extends: .define_before_upload_centos7 + dependencies: + - release_build_debug_for_centos7 + - release_build_for_centos7 + script: + - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm + +.define_before_upload_centos8: + stage: upload + image: $BUILD_IMAGE_CENTOS8 + before_script: + - pwd; ls -l ; cd build ; ls -l + - cp /root/rpm_upload_tools.py ./ + variables: + PULP3_REPO_NAME: stellar-stable-x86_64.el8 + PULP3_DIST_NAME: stellar-stable-x86_64.el8 + only: + - tags + tags: + - share + +rpm_upload_for_centos8: + extends: .define_before_upload_centos8 + dependencies: + - release_build_debug_for_centos8 + - release_build_for_centos8 + script: + - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm diff --git a/ci/travis.sh b/ci/travis.sh index 5c94ef8..a398d5d 100644 --- a/ci/travis.sh +++ b/ci/travis.sh @@ -1,9 +1,6 @@ #!/usr/bin/env sh set -evx -chmod +x ci/prepare_gtest_network.sh -. ci/prepare_gtest_network.sh - chmod +x ci/get-nprocessors.sh . ci/get-nprocessors.sh @@ -35,9 +32,6 @@ env | sort : "${NO_RTTI:=OFF}" : "${COMPILER_IS_GNUCXX:=OFF}" -# Install dependency from YUM -yum install -y libpcap-devel mrzcpd - if [ $ASAN_OPTION ]; then source /opt/rh/devtoolset-7/enable fi @@ -53,17 +47,7 @@ cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \ .. make -make test if [ -n "${PACKAGE}" ]; then make package - 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 stellar*debuginfo*.rpm - ls -ahl /usr/lib/debug/opt/tsg/stellar/bin/ - cp /usr/lib/debug/opt/tsg/stellar/bin/stellar*debug /tmp/stellar.debuginfo.${CI_COMMIT_SHORT_SHA} - sentry-cli upload-dif -t elf /tmp/stellar.debuginfo.${CI_COMMIT_SHORT_SHA} fi
\ No newline at end of file diff --git a/cmake/Package.cmake b/cmake/Package.cmake index a409f72..b6265e3 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -27,9 +27,9 @@ set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/cmake/PreUninstall.i # Must uninstall the debug package before install release package if(CMAKE_BUILD_TYPE STREQUAL "Debug") - set(CPACK_RPM_PACKAGE_CONFLICTS "stellar") + set(CPACK_RPM_PACKAGE_CONFLICTS ${PROJECT_NAME}) else() - set(CPACK_RPM_PACKAGE_CONFLICTS "stellar-debug") + set(CPACK_RPM_PACKAGE_CONFLICTS "${PROJECT_NAME}-debug") endif() # Setup %config(noreplace) |
