variables: GIT_STRATEGY: "clone" BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/ BUILD_IMAGE_X86_64_ROCKY8: "git.mesalab.cn:7443/mesa_platform/build-env:rocky8-for-sapp" BUILD_IMAGE_AARCH64_ROCKY9: "git.mesalab.cn:7443/mesa_platform/build-env:rocky9-aarch64" INSTALL_DEPENDENCY_PLATFORM: sapp-devel sapp libasan systemd-devel libnsl libuuid-devel perl-core openssl INSTALL_DEPENDENCY_FRAMEWORK: libMESA_handle_logger-devel libcjson-devel libMESA_field_stat2-devel framework_env libMESA_prof_load-devel libbreakpad_mini-devel libMESA_htable-devel libfieldstat3 libuuid libfieldstat4-devel SYMBOL_TARGET: ssl INSTALL_PREFIX: "/opt/tsg/sapp/" 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 - yum install -y $INSTALL_DEPENDENCY_PLATFORM $INSTALL_DEPENDENCY_FRAMEWORK - chmod +x ./ci/travis.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=sizeofDivisionMemfunc --suppress=unsignedLessThanZero --suppress=unusedFunction --suppress=missingInclude --suppress=uselessAssignmentPtrArg --suppress=unmatchedSuppression --suppress=variableScope --suppress=unreadVariable --suppress=cstyleCast --suppress=memleakOnRealloc --suppress=constParameter --suppress=uselessAssignmentArg --suppress=uninitvar --suppress=unusedStructMember --suppress=unreachableCode --suppress=internalAstError --suppress=nullPointerRedundantCheck --suppress=ctunullpointer --suppress=redundantAssignment --suppress=duplicateValueTernary --suppress=cstyleCast --suppress=*:*/deps/* run_cppcheck_for_x86_64_rocky8: extends: .cppcheck_script image: $BUILD_IMAGE_X86_64_ROCKY8 tags: - tsg-os-builder-el8 run_cppcheck_for_aarch64_rocky9: extends: .cppcheck_script image: $BUILD_IMAGE_AARCH64_ROCKY9 tags: - tsg-os-builder-aarch64 ############################################################################### # build ############################################################################### .build_before_script: before_script: *everything_before_script script: - ./ci/travis.sh variables: BUILD_TEST: "ON" BUILD_TYPE: Debug .build_by_travis_for_x86_64_rocky8: stage: build image: $BUILD_IMAGE_X86_64_ROCKY8 extends: .build_before_script tags: - tsg-os-builder-el8 develop_build_for_x86_64_rocky8: extends: .build_by_travis_for_x86_64_rocky8 variables: BUILD_TYPE: RelWithDebInfo artifacts: name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-debug" paths: - build/* except: - tags release_build_debug_for_x86_64_rocky8: extends: .build_by_travis_for_x86_64_rocky8 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_x86_64_rocky8: extends: .build_by_travis_for_x86_64_rocky8 variables: BUILD_TYPE: RelWithDebInfo PACKAGE: 1 artifacts: name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release" paths: - build/* only: - tags .build_by_travis_for_aarch64_rocky9: stage: build image: $BUILD_IMAGE_AARCH64_ROCKY9 extends: .build_before_script tags: - tsg-os-builder-aarch64 develop_build_for_aarch64_rocky9: extends: .build_by_travis_for_aarch64_rocky9 variables: BUILD_TYPE: RelWithDebInfo artifacts: name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-debug" paths: - build/* except: - tags release_build_debug_for_aarch64_rocky9: extends: .build_by_travis_for_aarch64_rocky9 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_aarch64_rocky9: extends: .build_by_travis_for_aarch64_rocky9 variables: BUILD_TYPE: RelWithDebInfo PACKAGE: 1 artifacts: name: "$SYMBOL_TARGET-$CI_COMMIT_REF_NAME-release" paths: - build/* only: - tags ############################################################################### # test ############################################################################### test_in_x86_64_rocky8: stage: test image: $BUILD_IMAGE_X86_64_ROCKY8 allow_failure: false script: - *everything_before_script - yum install -y $INSTALL_DEPENDENCY_PLATFORM $INSTALL_DEPENDENCY_FRAMEWORK - cd build; ctest3 --verbose dependencies: - develop_build_for_x86_64_rocky8 - release_build_for_x86_64_rocky8 tags: - tsg-os-builder-el8 test_in_aarch64_rocky9: stage: test image: $BUILD_IMAGE_AARCH64_ROCKY9 allow_failure: false script: - *everything_before_script - yum install -y $INSTALL_DEPENDENCY_PLATFORM $INSTALL_DEPENDENCY_FRAMEWORK - cd build; ctest3 --verbose dependencies: - develop_build_for_aarch64_rocky9 - release_build_for_aarch64_rocky9 tags: - tsg-os-builder-aarch64 ############################################################################### # upload ############################################################################### .define_before_upload_x86_64_rocky8: stage: upload image: $BUILD_IMAGE_X86_64_ROCKY8 before_script: - pwd; ls -l ; cd build ; ls -l - cp /root/rpm_upload_tools.py ./ variables: PULP3_REPO_NAME: protocol-stable-x86_64.el8 PULP3_DIST_NAME: protocol-stable-x86_64.el8 only: - tags tags: - tsg-os-builder-el8 rpm_upload_for_x86_64_rocky8: extends: .define_before_upload_x86_64_rocky8 dependencies: - release_build_debug_for_x86_64_rocky8 - release_build_for_x86_64_rocky8 script: - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm .define_before_upload_aarch64_rocky9: stage: upload image: $BUILD_IMAGE_AARCH64_ROCKY9 before_script: - pwd; ls -l ; cd build ; rm ssl.so; ls -l - cp /root/rpm_upload_tools.py ./ variables: PULP3_REPO_NAME: protocol-stable-aarch64.el9 PULP3_DIST_NAME: protocol-stable-aarch64.el9 only: - tags tags: - tsg-os-builder-aarch64 rpm_upload_for_aarch64_rocky9: extends: .define_before_upload_aarch64_rocky9 dependencies: - release_build_debug_for_aarch64_rocky9 - release_build_for_aarch64_rocky9 script: - python3 rpm_upload_tools.py $PULP3_REPO_NAME $PULP3_DIST_NAME *.rpm