This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
stellar-dns-decoder/.gitlab-ci.yml
2024-06-12 03:40:41 +00:00

206 lines
5.5 KiB
YAML

variables:
GIT_STRATEGY: "clone"
BUILD_IMAGE_CENTOS7: "git.mesalab.cn:7443/mesa_platform/build-env:master"
BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"
BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
INSTALL_PREFIX: "/opt/tsg/"
INSTALL_DEPENDENCY_LIBRARY: libMESA_handle_logger-devel libMESA_prof_load-devel libMESA_htable libMESA_jump_layer
libMESA_field_stat2-devel libfieldstat3-devel sapp-devel libcjson-devel libbreakpad_mini
framework_env libasan stellar-on-sapp-devel libfieldstat4-devel
SYMBOL_TARGET: dns_decoder
REPO_PREFIX: protocol
stages:
- 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="mesa-framework,platform"
- yum install -y $INSTALL_DEPENDENCY_LIBRARY
- source /etc/profile.d/framework.sh
###############################################################################
# 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
###############################################################################
fix_env_version_test_in_centos8:
stage: test
image: $BUILD_IMAGE_CENTOS8
allow_failure: false
script:
- *everything_before_script
- cd build; make test ARGS="-V"
dependencies:
- develop_build_for_centos8
- release_build_for_centos8
tags:
- share
latest_env_version_test_in_centos8:
stage: test
image: $BUILD_IMAGE_CENTOS8
allow_failure: false
script:
- *everything_before_script
- mkdir /tmp/rpm/
- yum install --downloadonly --downloaddir=/tmp/rpm/ sapp stellar-on-sapp -y
- rpm -ihv /tmp/rpm/*.rpm
- cd build; make test ARGS="-V"
dependencies:
- develop_build_for_centos8
- release_build_for_centos8
tags:
- share
###############################################################################
# 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: $REPO_PREFIX-stable-x86_64.el7
# PULP3_DIST_NAME: $REPO_PREFIX-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: $REPO_PREFIX-stable-x86_64.el8
PULP3_DIST_NAME: $REPO_PREFIX-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