diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index efb3e8b..8fb8a64 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ -image: "git.mesalab.cn:7443/mesa_framework/framework:master" +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/ INSTALL_PREFIX: "/home/tsg/tfe" stages: @@ -10,24 +11,24 @@ stages: .build_by_travis: before_script: - - mkdir -p /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_NAMESPACE/ - - ln -s $CI_PROJECT_DIR /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH - - cd /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH - script: + - pulp-consumer register -u $PULP_CI_USER -p $PULP_CI_PASSWORD --consumer-id gitlab-ci-$CI_JOB_NAME-$CI_JOB_ID + - 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 - - ./ci/travis.sh - -.deploy_to_package_server: - script: - - cp build/*.rpm $RPM_REPO_PATH - - createrepo --update $RPM_REPO_PATH - - rm -rf build + after_script: + - pulp-consumer unregister build_debug: stage: build variables: BUILD_TYPE: Debug extends: .build_by_travis + script: + - pulp-consumer rpm bind --repo-id stable + - yum makecache + - yum install mrzcpd framework + - ./ci/travis.sh tags: - share except: @@ -38,37 +39,42 @@ build_release: variables: BUILD_TYPE: RelWithDebInfo extends: .build_by_travis + script: + - pulp-consumer rpm bind --repo-id stable + - yum makecache + - yum install mrzcpd framework + - ./ci/travis.sh tags: - share except: - tags -package_debug: - stage: package - variables: - BUILD_TYPE: Debug - PACKAGE: 1 - extends: .build_by_travis - artifacts: - name: "tfe-install-$CI_COMMIT_REF_NAME-debug" - paths: - - build/*.rpm - tags: - - share - only: - - tags - -package_release: - stage: package - variables: - BUILD_TYPE: RelWithDebInfo - PACKAGE: 1 - extends: .build_by_travis - artifacts: - name: "tfe-install-$CI_COMMIT_REF_NAME-release" - paths: - - build/*.rpm - tags: - - share - only: - - tags +#package_debug: +# stage: package +# variables: +# BUILD_TYPE: Debug +# PACKAGE: 1 +# extends: .build_by_travis +# artifacts: +# name: "tfe-install-$CI_COMMIT_REF_NAME-debug" +# paths: +# - build/*.rpm +# tags: +# - share +# only: +# - tags +# +#package_release: +# stage: package +# variables: +# BUILD_TYPE: RelWithDebInfo +# PACKAGE: 1 +# extends: .build_by_travis +# artifacts: +# name: "tfe-install-$CI_COMMIT_REF_NAME-release" +# paths: +# - build/*.rpm +# tags: +# - share +# only: +# - tags diff --git a/cmake/Package.cmake b/cmake/Package.cmake index 8822905..540be52 100644 --- a/cmake/Package.cmake +++ b/cmake/Package.cmake @@ -32,6 +32,5 @@ endif() # setup %config(noreplace) set(CPACK_RPM_USER_FILELIST "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/pangu/pangu_pxy.conf" - "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/tfe/decrypt_mirror.conf" "%config(noreplace) ${CMAKE_INSTALL_PREFIX}/conf/tfe/tfe.conf") include(CPack) diff --git a/cmake/Version.cmake b/cmake/Version.cmake index b97c9c1..20b0416 100644 --- a/cmake/Version.cmake +++ b/cmake/Version.cmake @@ -18,6 +18,11 @@ include(${__VERSION_CONFIG}) string(REGEX REPLACE "^v([0-9]+)\\..*" "\\1" TFE_VERSION_MAJOR "${VCS_TAG}") string(REGEX REPLACE "^v[0-9]+\\.([0-9]+).*" "\\1" TFE_VERSION_MINOR "${VCS_TAG}") string(REGEX REPLACE "^v[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" TFE_VERSION_PATCH "${VCS_TAG}") +string(REGEX REPLACE "[T\\:\\+\\-]" "" TFE_VERSION_DATE "${VCS_DATE}") + +if(TFE_VERSION_DAILY_BUILD) + set(TFE_VERSION_PATCH ${TFE_VERSION_PATCH}.${TFE_VERSION_DATE}) +endif() if(NOT TFE_VERSION_MAJOR) set(TFE_VERSION_MAJOR 3) @@ -31,10 +36,12 @@ if(NOT TFE_VERSION_PATCH) set(TFE_VERSION_PATCH 0) endif() -set(TFE_VERSION "${TFE_VERSION_MAJOR}.${TFE_VERSION_MINOR}.${TFE_VERSION_PATCH}") set(TFE_DESCRIBE "${VCS_SHORT_HASH}") +set(TFE_VERSION "${TFE_VERSION_MAJOR}.${TFE_VERSION_MINOR}.${TFE_VERSION_PATCH}") set(TFE_GIT_VERSION "${TFE_VERSION_MAJOR}.${TFE_VERSION_MINOR}.${TFE_VERSION_PATCH}-${TFE_DESCRIBE}") -set(TFE_VAR_VERSION "${TFE_VERSION_MAJOR}_${TFE_VERSION_MINOR}_${TFE_VERSION_PATCH}_${TFE_DESCRIBE}") + +# Replace .- with _ +string(REGEX REPLACE "[\\.\\-]" "_" TFE_VAR_VERSION "${TFE_GIT_VERSION}") # print information message(STATUS "Welcome to Tango Frontend Engine, Version: ${TFE_GIT_VERSION}") diff --git a/platform/src/proxy.cpp b/platform/src/proxy.cpp index eca3270..32f010d 100644 --- a/platform/src/proxy.cpp +++ b/platform/src/proxy.cpp @@ -405,7 +405,7 @@ static bool tfe_breakpad_dump_callback(const google_breakpad::MinidumpDescriptor /* COREDUMP GENERATE TEST */ static void segv_generate() { - char * _NULLPTR = NULL; + volatile char * _NULLPTR = nullptr; (*_NULLPTR) = 0; } @@ -494,13 +494,21 @@ int main(int argc, char * argv[]) int ret = 0; int opt = 0; - while ((opt = getopt(argc, argv, "v")) != -1) + bool to_generate_a_segv = false; + + while ((opt = getopt(argc, argv, "vg")) != -1) { switch (opt) { case 'v': fprintf(stderr, "Tango Frontend Engine, Version: %s\n", tfe_version()); return 0; + + case 'g': + fprintf(stderr, "Tango Frontend Engine, prepare to generate a coredump."); + to_generate_a_segv = true; + break; + default: break; } @@ -529,6 +537,11 @@ int main(int argc, char * argv[]) g_default_proxy->breakpad = breakpad_init(main_profile); CHECK_OR_EXIT(g_default_proxy->breakpad, "Failed at starting breakpad. Exit."); + if (to_generate_a_segv) + { + segv_generate(); + } + future_promise_library_init(future_profile); tango_cache_global_init();